0

我必须创建一个使用 POI 读取 excel 文件的自定义标签,修改一些单元格,然后将修改写回同一个 excel 文件。excel文件中有多个工作表。在某些工作表中,某些单元格被锁定,某些单元格具有颜色编码,而某些单元格具有下拉选项。当我将修改写回 excel 文件时,所有这些特殊样式必须保持不变。

我注意到我可以Workbook通过执行读取 excel 文件WorkbookFactory.create()。我也可以HSSFWorkbook通过做来阅读new HSSFWorkbook()。我的问题是,我应该使用哪一个来完成我想要完成的任务?

4

1 回答 1

1

Workbook是适用于 HSSF(.xls 文件)和 XSSF(.xlsx 文件)的通用接口。通过使用Workbook而不是HSSFWorkbook,您的代码对于两种文件格式都可以正常工作。

为什么改变?POI网站上的部分

如果您拥有可以正常工作的现有 HSSF 用户模型代码,并且您不想使用新的 OOXML XSSF 支持,那么您可能不需要。您现有的仅 HSSF 代码将继续正常工作。

但是,如果您希望能够同时使用 .xls 文件的 HSSF 和 .xslx 文件的 XSSF,那么您将需要对您的代码进行一些细微的调整。

因此,如果您只需要支持 .xls,并且永远支持,您可以坚持使用 .xls HSSFWorkbook。但是,如果您想在现在或将来同时使用 .xls 和 .xlsx,请使用通用接口

于 2012-10-30T10:20:47.667 回答