介绍
Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。PS: 一般情况下,POI 都是用于操作 Excel 文件,如图:
Apache POI 的应用场景:
- 银行网银系统导出交易明细
- 各种业务系统导出Excel报表
- 批量导入业务数据
入门案例
- 导入Apache POI的maven坐标:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</dependency>
- 数据写入Excel文件:
public class POITest {
/**
* 通过POI创建Excel,并写入文件内容
*/
public static void write() throws Exception {
// 在内存中创建一个Excel文件
XSSFWorkbook excel = new XSSFWorkbook();
// 在Excel文件中创建一个sheet页
XSSFSheet sheet = excel.createSheet("info");
// 在sheet页中创建行对象,rownum的编号从0开始,写1表示创建第2行
XSSFRow row = sheet.createRow(1);
// 在行中创建单元格, columnIndex也是从0开始,使用setCellValue写入文本内容
row.createCell(1).setCellValue("姓名");
row.createCell(2).setCellValue("城市");
// 创建新的一行
row = sheet.createRow(2);
row.createCell(1).setCellValue("张三");
row.createCell(2).setCellValue("成都");
row = sheet.createRow(3);
row.createCell(1).setCellValue("李四");
row.createCell(2).setCellValue("北京");
FileOutputStream out = new FileOutputStream("/home/zxy/Projects/info.xlsx");
excel.write(out);
// 关闭资源
out.close();
excel.close();
}
public static void main(String[] args) throws Exception{
write();
}