一.POI简介
Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API
目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。
二.HSSF概况
HSSF 是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。 也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。
HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。
三.开始编码
1 . 准备工作
要求:JDK 1.4+POI开发包
可以到 http://www.apache.org/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包
2 . EXCEL 结构
HSSFWorkbook excell 文档对象介绍
HSSFSheet excell的表单
HSSFRow excell的行
HSSFCell excell的格子单元
HSSFFont excell字体
HSSFName 名称
HSSFDataFormat 日期格式
在poi1.7中才有以下2项:
HSSFHeader sheet头
HSSFFooter sheet尾
和这个样式
HSSFCellStyle cell样式
辅助操作包括
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 错误信息表
3 .具体用法实例 (采用 usermodel )
如何读Excel
读取Excel文件时,首先生成一个POIFSFileSystem对象,由POIFSFileSystem对象构造一个HSSFWorkbook,该HSSFWorkbook对象就代表了Excel文档。下面代码读取上面生成的Excel文件写入的消息字串:
Java代码
POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:\test.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
} catch (IOException e) {
e.printStackTrace();
}
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
String msg = cell.getStringCellValue();
POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:\test.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
} catch (IOException e) {
e.printStackTrace();
}
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
String msg = cell.getStringCellValue();
如何写excel,
将excel的第一个表单第一行的第一个单元格的值写成“a test”。
Java代码
POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream("workbook.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
cell.setCellValue("a test");
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream("workbook.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
cell.setCellValue("a test");
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
4 . 可参考文档
POI 主页:http://jakarta.apache.org/poi/,
初学者如何快速上手使用POI HSSF
http://jakarta.apache.org/poi/hssf/quick-guide.html 。
代码例子 http://blog.java-cn.com/user1/6749/archives/2005/18347.html
里面有很多例子代码,可以很方便上手。
四.使用心得
POI HSSF 的usermodel包把Excel文件映射成我们熟悉的结构,诸如Workbook、Sheet、Row、Cell等,它把整个结构以一组对象的形式保存在内存之中,便于理解,操作方便,基本上能够满足我们的要求,所以说这个一个不错的选择。
分享到:
相关推荐
1. **内存消耗**:`Jakarta POI`在处理大型Excel文件时可能会占用较多内存,因此对于大数据量的操作需要特别注意。 2. **版本兼容性**:不同版本的Excel文件可能存在格式上的差异,使用`Jakarta POI`时要注意选择...
为了使用 POI 操作 Excel 文件,首先需要准备以下环境: 1. **JDK 版本**:至少需要 JDK 1.4 或更高版本。 2. **POI 库**:下载 POI 库,可以从 Apache 官方网站获取:...
我碰到的主要的问题就是对公式支持不是很好,很多带有公式的Excel文件用JXL打开后,公式就丢失了(比如now(),today()),在网上看到其他大虾评论说JXL写入公式也有问题,另外,JXL操作Excel文件的效率比POI低一点。...
1. poi-3.0-rc4-20070503.jar:这是主库文件,包含了核心的POI API,包括HSSF、XSSF、HWPF和HSLF,以及一些基础的工具和类,用于处理Office文档的各种操作。 2. poi-scratchpad-3.0-rc4-20070503.jar:这是一个实验...
总之,Java的Apache POI库为开发者提供了一个强大且灵活的工具,用于在服务器端生成Excel文件,满足了企业级应用中常见的报表和数据导出需求。通过利用HSSF接口,开发者可以创建复杂的Excel格式,同时保持代码的可...
【标题】:Java的POI操作Excel文件 【描述】:在企业级开发中,有时我们需要处理Excel文件,例如根据客户需求生成报表或者读取数据。Java的POI库提供了这样的功能,它允许开发者在Java环境中操作Microsoft Office的...
5. "Jakarta的POI项目操作Excel文件的方便的途径.htm":Jakarta POI是Apache POI的早期版本,这个文件可能介绍了早期版本的使用方法。 6. "利用Java 创建和读取Excel文档.htm":基础教程,涵盖了基本的创建和读取...
总结来说,Jakarta POI的HSSF模块是Java开发者处理Excel文件的强大工具,它提供了丰富的API,能够创建复杂的Excel文档并读取现有文件,同时具备良好的Unicode支持和社区维护,确保了其在多语言环境下的稳定性和兼容...
为了使用 POI 操作 Excel 文件,你需要具备以下条件: - **Java 开发环境**:确保已安装 JDK 1.4 或更高版本。 - **POI 开发包**:从官方地址 [http://www.apache.org/dyn/closer.cgi/jakarta/poi/]...
利用Apache POI库能够实现这一功能,即可以通过Java程序操作Excel文件,包括读取、写入、以及处理Excel中的公式。 #### 二、关键技术点 1. **POI库简介**: - Apache POI是Apache软件基金会的Jakarta项目中的一个...
使用POI处理Excel文件时,你可以创建一个新的Workbook对象,然后添加Sheet,再在Sheet中创建Row和Cell。你可以填充数据,设置样式,应用公式,并保存为Excel文件。对于读取Excel文件,POI提供了相应的API来打开...
以下是一个使用POI创建新Excel文件的简单示例: ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; import java.io.FileOutputStream; import java.io.IOException; public class NewWorkbook { ...
JXL则是另一个广泛使用的Java库,它专注于处理Excel文件,但相比于POI,它的功能相对较少,不支持最新的.xlsx格式。JXL主要支持.xls文件,提供了读取、创建和修改Excel文件的基本功能,如读取单元格值、设置单元格...
**Jakarta POI HSSF** 是 Apache POI 项目中的一个子项目,它专注于使用纯 Java 实现对 Microsoft Excel (.xls) 文件的操作。在实际的开发过程中,特别是在企业级应用中,经常会遇到需要导出数据到 Excel 或者从 ...