1.简介
是用java便是写的 免费 开源的跨平台 (即不依赖于操作系统,也不依赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行) 的java api。
Apache POI提供API给Java程序对Microsoft Office格式文档的读和写功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。
POI中有以下几个类,举例如下:
HSSF - 提供读写Excel XLS格式的功能。操作Excel97-2003版本,扩展名为.xls
HSSF 是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”
XSSF - 提供读写Excel OOXML XLSX格式的功能。操作Excel2007版本开始,扩展名为.xlsx
XML Spreadsheet Format
Horrible Word Processing Format
HSLF - 提供读PowerPoint格式的功能。
HDGF - 提供读Visio格式的功能。
HPBF - 提供读Publisher格式的功能。
HSMF - 提供读Outlook格式的功能。
2.使用POI-OOXML对excel的操作
ps:POI-OOXML: 操作excel,处理excel2007版本以上的文档,是poi的升级版本,处理的单页数据量是百万级别的。
首先引入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.12</version>
</dependency>
编写代码
private static void excleDispose() throws IOException {
//excel的创建路径
String path = "C:\\Users\\Administrator\\Desktop\\POI\\";
//创建一个excel
HSSFWorkbook excelWorkbook = new HSSFWorkbook();
//在工作簿里创建一个工作表(excel里新增一页)
HSSFSheet sheet1 = excelWorkbook.createSheet("第一页sheet");
//在sheet1里创建第一行
HSSFRow row1 = sheet1.createRow(0);
//在第一行创建第一个单元格
HSSFCell cell1 = row1.createCell(0);
cell1.setCellValue("数学");
//在第一行创建第二个单元格
HSSFCell cell2 = row1.createCell(1);
cell2.setCellValue("100分");
//在sheet1里创建第二行
HSSFRow row2 = sheet1.createRow(1);
//在第二行创建第一个单元格
HSSFCell cell21 = row2.createCell(0);
cell21.setCellValue("语文");
//在第一行创建第二个单元格
HSSFCell cell22 = row2.createCell(1);
cell22.setCellValue("59分");
// 单元格style创建 背景红色
CellStyle style = excelWorkbook.createCellStyle();
//实体填充
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setFillForegroundColor(HSSFColor.RED.index);
cell22.setCellStyle(style);
// 生成表,IO流,03版本使用xls后缀
FileOutputStream fileOutputStream = new FileOutputStream(path+"成绩表.xls");
excelWorkbook.write(fileOutputStream);
// 关闭流
fileOutputStream.close();
System.out.println("成绩表输出完成");
}