springboot中使用java操作poi案例(excel数据写入与导出)

1.maven工程导入依赖

 <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>RELEASE</version>
    </dependency>

这里导入两个poi的原因是:在excel的表格保存为xls和xlsx两种格式,excel表格早先是xls后来又加入了xlsx的格式,在下面的代码中会有所体现。
2.编写demo
@RestController
@RequestMapping("/POI")
public class POIController {
   @RequestMapping("/createExcel")
   public void createExcel(){
       //HSSFWorkbook wb = new HSSFWorkbook();
       XSSFWorkbook wb = new XSSFWorkbook();
       XSSFSheet sheets= wb.createSheet("九九乘法表");
       for (int i=1;i<=9;i++){
           XSSFRow row = sheets.createRow(i - 1);
           for (int j = 1; j<= 9; j++) {
               XSSFCell cell = row.createCell(j - 1);
               cell.setCellValue(i+"*"+j+"="+i*j);
           }

       }

       try {
           FileOutputStream fileOutputStream = new FileOutputStream("d:\\test.xlsx");
           try {
               wb.write(fileOutputStream);
           } catch (IOException e) {
               e.printStackTrace();
           }
       } catch (FileNotFoundException e) {
           e.printStackTrace();
       }

   }
}


里注意的点是在上图创建excel工作簿的时候有两种方式,如下所示:

  HSSFWorkbook wb = new HSSFWorkbook();//生成xls格式的excel
  XSSFWorkbook wb = new XSSFWorkbook();//生成xlsx格式的excel

3.poi的整个设计是根据excel表格的特性来做的,大致思路是:

3.1 通过HSSFWorkbook wb = new HSSFWorkbook()或 XSSFWorkbook wb = new XSSFWorkbook()生成excel工作簿(wb)
3.2 通过创建好的工作簿去创建工作表(sheet)
3.3 通过工作表去创建表中的行(row),行里索要填的内容就是单元格的内容(cell)
  最后,提供了工作簿(wb)、工作表(sheet)、表中的行(row)、行内容的单元格(cell)分别的api,自己稍微摸索一下就能
posted @ 2019-12-13 16:02  李jojo  阅读(1452)  评论(0编辑  收藏  举报