JAVA报表开发-POI处理EXCEL-介绍
添加所需的依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.0.1</version>
</dependency>
1、POI操作Excel高低版本区别
在POI包中有如下几个主要对象和excel的几个对象对应:
| 对应excel名称 | 低版本中的类名 | 高版本中的类名 |
|---|---|---|
| 工作簿 | HSSFWorkbook | XSSFWorkbook |
| 工作表 | HSSFSheet | XSSFSheet |
| 行 | HSSFRow | XSSFRow |
| 单元格 | HSSFCell | XSSFCell |
| 单元格样式 | HSSFCellStyle | XSSFCellStyle |
入门案例代码:创建一个新的工作薄,里面随便写一句话
操作低版本:
package com.itheima.demo; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; public class POIDemo01 { public static void main(String[] args) throws Exception{ Workbook workbook = new HSSFWorkbook(); //创建了一个全新(里面什么都没有)的工作薄 Sheet sheet = workbook.createSheet("demo测试"); //创建了一个全新(里面什么都没有)的工作表 Row row = sheet.createRow(0); //创建了第一行(空的) Cell cell = row.createCell(0);//创建的是第一行的第一个单元格 cell.setCellValue("这是我第一次玩POI"); // 把工作薄输出到本地磁盘 workbook.write(new FileOutputStream("d://test.xls")); } }
操作高版本:
package com.itheima.demo; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; public class POIDemo02 { public static void main(String[] args) throws Exception{ Workbook workbook = new XSSFWorkbook(); //创建了一个全新(里面什么都没有)的工作薄 Sheet sheet = workbook.createSheet("demo测试"); //创建了一个全新(里面什么都没有)的工作表 Row row = sheet.createRow(0); //创建了第一行(空的) Cell cell = row.createCell(0);//创建的是第一行的第一个单元格 cell.setCellValue("这是我第一次玩POI"); // 把工作薄输出到本地磁盘 workbook.write(new FileOutputStream("d://test.xlsx")); } }
比较上面两个代码会发现,在开发中只是类的名称不一样,方法是一样的。

浙公网安备 33010602011771号