通過Poi操作Excel十分方便,將一個Excel抽象為一個Workbook,一個表單頁抽象為Sheet,表單中的一行抽象為Row,一行中的一個單元格可以抽象為Cell。HSSF對應的是97-03格式(.xls),XSSF對應的是07格式的(.xlsx)。
Workbook的獲取有以下幾種方式:
1.可以通過WorkbookFactory,工廠方法
Workbook wb=WorkbookFactory.create(new FileInputStream(file));//可以讀取xls格式或xlsx格式。
使用此種方式需注意close();問題,建議使用顯性創建。
2.直接通過HSSFWorkbook的構造方法
Workbook wb=new HSSFWorkbook();//生成一個空的Excel文件
Workbook wb=new HSSFWorkbook(new FileInputStream(file));//只能讀取xls后綴的Excel文件.
3.直接通過XSSFWorkbook的構造方法
Workbook wb=new XSSFWorkbook();//生成一個空的Excel文件
Workbook wb=new XSSFWorkbook(new FileInputStream(file));//只能讀取xlsx后綴的Excel文件
Sheet可由Workbook創建
Sheet s=wb.createSheet(sheet);//創建一個名為sheet的表單
Row由Sheet創建
Row r=s.createRow(row);//新創建一行,行號為row+1
Cell有Row創建
Cell c=r.createCell(col);//創建一個單元格,列號為col+1
最后就可以通過c.setCellValue(value)向單元格填充內容即可
以上部分內容節選於https://www.cnblogs.com/likui-bookHouse/articles/7490151.html
驗證Excel數據:
1 try{ 2 FileInputStream finceshi = (FileInputStream) file.getInputStream(); 3 HSSFWorkbook work = new HSSFWorkbook(finceshi); 4 finceshi.close(); 5 HSSFSheet sheet = work.getSheetAt(0); 6 int row = sheet.getLastRowNum(); 7 for (int rowIndex = 3; rowIndex <= row; rowIndex++) { 8 //獲取第0列數據 9 HSSFCell cell = sheet.getRow(rowIndex).getCell(0); 10 String str = cell.getStringCellValue(); 11 if (str.length() > 15) { 12 System.out.println(str + "=====當前第"+ rowIndex +"行=====這個數值大於15"); 13 return j; 14 } 15 } 16 }catch (Exception e){}