Apache POI 3.5 HSSF & XSSF Excel操作指南

需积分: 50 7 下载量 181 浏览量 更新于2024-07-25 收藏 1.36MB PDF 举报
"Apache POI是Java库,用于读写Microsoft Office格式的文件,特别是Excel。本文档主要关注POI 3.5版本中HSSF和XSSF组件对Excel的使用,帮助开发者快速入门Excel操作。" Apache POI是一个流行的开源项目,它允许开发人员使用Java来创建、修改和显示MS Office格式的文件。在Excel方面,POI提供了两个主要的API:HSSF用于处理老版的BIFF格式(.xls),而XSSF则用于处理XML-based OOXML格式(.xlsx)。本文档是基于POI 3.5的快速指南,旨在帮助开发者迅速掌握这两个接口的基本用法。 1. 添加POI支持: 在Java项目中使用POI,首先需要将对应的jar文件添加到类路径中。这通常包括poi-ooxml-schemas、poi-ooxml、poi、poi-contrib等依赖库。 2. 创建新工作簿: 使用`WorkbookFactory.create()`方法可以创建新的HSSFWorkbook或XSSFWorkbook对象,分别对应.xls和.xlsx文件。 3. 创建新sheet页: 在工作簿对象上调用`createSheet()`方法可创建新的Sheet对象,每个Sheet代表Excel的一个工作表。 4. 创建单元格: 在Sheet对象上调用`createRow()`创建行,然后在行对象上调用`createCell()`创建单元格。 5. 新建一个时间格式的单元格: 通过设置单元格的类型为`CellType.NUMERIC`,并使用`DataFormat`对象创建特定的时间格式,可以创建时间格式的单元格。 6. 处理不同内容格式的单元格: POI提供了多种CellType,如STRING、NUMERIC、BOOLEAN、FORMULA等,可以根据需要设置单元格类型。 7. 遍历列和单元格: 使用for循环遍历Sheet的行和行中的单元格,可以访问和修改所有单元格的内容。 8. 获得单元格内的内容: 使用`getCellType()`检查单元格类型,然后根据类型调用相应的getter方法,如`getStringCellValue()`、`getNumericCellValue()`等。 9. 文本提取: 对于字符串类型的单元格,可以使用`RichTextString`类获取格式化的文本内容。 10. 单元格边框: 使用`CellStyle`对象,可以设置单元格的边框样式、颜色等属性。 11. 填充色和颜色操作: `CellStyle`对象也提供了设置单元格背景填充色的方法。 12. 合并单元格: 通过调用`Sheet`对象的`mergeCells()`方法,可以合并多个单元格。 13. 字体的处理: `Font`对象允许设置字体名称、大小、颜色、是否加粗、斜体等属性,并与`CellStyle`关联。 14. 自定义颜色: POI支持定义自定义的颜色索引,可以创建新的`IndexedColors`实例并应用于`CellStyle`。 15. 读取和重写工作簿: 使用`WorkbookFactory.loadWorkbook()`方法读取现有工作簿,完成修改后,使用`Workbook`的`write()`方法写入到文件。 16. 在单元格中使用换行: `RichTextString`支持插入换行符,创建多行文本的单元格。 17. 创建用户自定义数据格式: 可以创建`DataFormat`对象并设置自定义格式字符串,然后应用到`CellStyle`。 18. Sheet页自适应页面大小: 调整Sheet的打印设置,使其适应内容大小。 19. 设定打印区域: 使用`setPrintArea()`方法定义打印区域。 20. 设置脚注页码: 脚注页码可以通过调整Sheet的页眉和页脚设置实现。 21. 使用便捷函数: POI提供了一些便利的工具类,如`FormulaEvaluator`,用于计算公式单元格的值。 22. 上下移动一行: 可以通过重新设置行的索引来移动行的位置。 23. 将sheet页设定为默认选中: 设置`Sheet`的`setSelected()`方法为true,使其在打开时默认被选中。 24. 设置sheet页放大倍率: 使用`Sheet`的`setZoom()`方法可以设置预览时的放大比例。 25. 拆分和冻结窗格: `createFreezePane()`和`createSplitPane()`方法用于创建冻结和拆分视图。 26. 重复列和行: 在页眉和页脚中,可以设置重复的列和行以保持打印时的视觉一致性。 27. 页眉和页脚: `Header`和`Footer`对象提供了设置页眉和页脚内容的方法。 28. 绘制图形: 使用`ClientAnchor`和`Drawing`接口可以创建和定位图形对象。 29. 设置图形样式: 图形对象支持设置填充色、线条样式、字体等样式属性。 以上是POI 3.5中HSSF和XSSF操作Excel的基础知识,这些内容涵盖了创建、编辑和格式化Excel文件的大部分需求。随着对API的深入理解和实践,开发者能够构建复杂的Excel处理程序,满足各种业务需求。