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
HWPF - 提供读写Word DOC格式的功能。
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\\";//创建一个excelHSSFWorkbook 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("成绩表输出完成");}