使用poi创建Excel文件

通过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){}
原文地址:https://www.cnblogs.com/ic710/p/10917260.html