读取excel表中的数据

 1 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 2 import org.apache.poi.ss.format.CellFormat;
 3 import org.apache.poi.ss.usermodel.Cell;
 4 import org.apache.poi.ss.usermodel.Row;
 5 import org.apache.poi.ss.usermodel.Sheet;
 6 import org.apache.poi.ss.usermodel.Workbook;
 7 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 8 public List<Bean> getDataFormExcel() {
 9         // TODO Auto-generated method stub
10         File f = null;
11         InputStream is = null;
12         List<Bean> allDataBeans = new ArrayList<Bean>();
13         try {
14             f = new File(this.getClass().getResource("/").getPath());
15             String path = f.getAbsolutePath();
16             String newPath = path.replace('\', '/');
17             if (newPath.contains("apache")) {
18                 newPath = newPath.substring(0, newPath.indexOf("/apache"));
19             }
20             String dirName = newPath + "/batchne/"; // 获取自己创建的文件夹路径
21             f = new File(dirName);
22             if (!f.exists()) {
23                 f.mkdirs();
24             }
25             String fileNames[] = f.list(); // 获取文件夹下的文件
26             if(fileNames.length == 0){
27                 System.out.println("目录下无文件");
28                 return allDataBeans;
29             }
30             String resultFileName = "";
31             System.out.println("文件 is " + fileNames[0]);
32             resultFileName = fileNames[0];
33             f=new File(dirName+resultFileName);
34             //获取文件类型是xls还是xlsx
35             String fileType = resultFileName.substring(resultFileName.lastIndexOf(".") + 1);
36             System.out.println(fileType);
37             is = new FileInputStream(f);
38             Workbook xssfWorkbook = null;
39             //兼容xls和xlsx两种格式
40             if (fileType.equals("xls")) {
41                 xssfWorkbook = new HSSFWorkbook(is);
42             } else if (fileType.equals("xlsx")) {
43                 xssfWorkbook = new XSSFWorkbook(is);
44             }else {
45                 System.out.println("表格格式错误");
46             }
47             //获取第一个单元
48             Sheet sheet = xssfWorkbook.getSheetAt(0);
49             // 得到所有的行数
50             int rows = sheet.getLastRowNum();
51             // 越过第一行 它是列名称
52             for (int j = 1; j <=rows; j++) {
53                  Bean Bean = Bean();
54                 // 得到每一行的单元格的数据
55                 Row row = sheet.getRow(j);
56                 Bean.setType(String.valueOf(row.getCell(0)));
57                 // 存储每一条数据
58                 allDataBeans.add(Bean);
59             }
60         
61         } catch (Exception e) {
62             // TODO Auto-generated catch block
63             e.printStackTrace();
64         }
65         return allDataBeans;
66     }
原文地址:https://www.cnblogs.com/lhq1996/p/12090157.html