Apache POI 3.5 HSSF & XSSF Excel操作指南

需积分: 31 4 下载量 33 浏览量 更新于2024-07-28 收藏 1.36MB PDF 举报
"这篇文档是关于Apache POI 3.5版中HSSF和XSSF库的Excel操作快速入门指南,由岑坚(高凯)翻译。内容涵盖如何添加POI支持、创建新工作簿和sheet页、创建及格式化单元格、遍历单元格、处理边框和填充色、合并单元格、处理字体、自定义颜色、读取和重写工作簿、设置换行、创建数据格式、适应页面大小、设定打印区域、设置脚注页码、使用便捷函数、移动行、设置默认选中的sheet页、调整放大倍率、拆分和冻结窗格、重复列和行、添加页眉和页脚以及绘制图形等。" Apache POI是Java库,用于读写Microsoft Office格式的文件,包括Excel。HSSF是处理老版本Excel文件(.xls,BIFF8格式)的API,而XSSF则用于处理Excel 2007及以上版本的XML格式(.xlsx)文件。 1. 添加POI支持:在项目中引入Apache POI的库文件,配置Maven或Gradle依赖,确保能够使用HSSF和XSSF相关类。 2. 创建新工作簿:使用Workbook接口的静态工厂方法创建HSSFWorkbook或XSSFWorkbook对象,这将代表一个新的Excel文件。 3. 创建新sheet页:调用Workbook对象的createSheet()方法,可以创建新的Sheet对象,代表Excel的一页。 4. 创建单元格:在Sheet对象上使用createRow()创建新行,然后在行对象上使用createCell()创建单元格。 5. 新建时间格式的单元格:设置单元格类型为DataType.NUMERIC,并使用CellStyle设置相应的日期格式。 6. 处理不同内容格式的单元格:单元格可以是数值、字符串、日期、布尔值等多种类型,需要根据需要设置相应的数据类型和样式。 7. 遍历列和单元格:通过迭代Sheet对象的行集合,再遍历每行的细胞集合,可以访问到所有的单元格。 8. 获取单元格内容:使用Cell对象的getCellValue()方法获取内容,可能需要根据单元格类型转换。 9. 文本提取:对于字符串单元格,可以直接获取;对于其他类型,可能需要转换。 10. 单元格边框处理:使用CellStyle设置边框样式,如粗细、颜色和样式。 11. 填充色和颜色操作:通过CellStyle设置单元格的背景颜色。 12. 合并单元格:使用Sheet对象的mergeCells()方法合并多个单元格。 13. 字体处理:通过Font对象设置字体的大小、颜色、样式(如加粗、斜体)。 14. 自定义颜色:可以创建新的颜色索引,并应用到CellStyle。 15. 读取和重写工作簿:使用FileInputStream读取现有文件,用Workbook的write()方法将修改后的工作簿写入OutputStream。 16. 在单元格中使用换行:设置单元格样式中的wrapText属性为true。 17. 创建用户自定义数据格式:创建自定义的数字格式字符串,然后使用CellStyle设置。 18. Sheet页自适应页面大小:使用Sheet对象的autoSizeColumn()方法自动调整列宽。 19. 设定打印区域:设置PrintSetup对象的printArea属性。 20. 设置脚注页码:通过Sheet对象的setFooter()方法设置页脚内容,包括页码。 21. 使用便捷函数:POI提供了一些简化操作的方法,如getFirstRowNum(), getLastRowNum()等。 22. 上下移动一行:通过Row对象的moveToInsertionPoint()方法实现。 23. 将sheet页设定为默认选中:使用Sheet对象的setSelected(true)方法。 24. 设置sheet页放大倍率:通过Sheet对象的setZoom()方法。 25. 拆分和冻结窗格:使用Sheet对象的createFreezePane()或createSplitPane()方法。 26. 重复列和行:设置Sheet对象的repeatColumns()和repeatRows()方法。 27. 页眉和页脚:使用Header和Footer对象设置内容。 28. 绘制图形:使用DrawingPatriarch创建形状对象,设置其位置和样式。 29. 设置图形样式:调整形状的颜色、线条样式、填充色等。 综上,该文档为开发者提供了全面的指导,帮助他们快速上手使用Apache POI进行Excel文件的读写和操作。