1

我想使用 Apache POI 的 HSSF EventModel 读取 Excel 文件(.xls 格式)。我的 excel 表是一个没有宏的简单 excel 文件。只是想知道我必须处理哪些类型的记录。

以下是excel文件中的数据类型:-

    1. String
    2. Boolean
    3. Number
    4. Date.

我找到了这些 BoolErr,Blank,Number。让我知道我还需要处理哪些记录。

谢谢斯里尼瓦桑

4

1 回答 1

1

如果您希望数字和日期像在 Excel 中一样显示,那么您需要所有单元格格式信息。这是因为数字和日期单元格的存储方式相同,因为浮点数每条记录一个单元格(除了在 MulRks 周围的一些特殊情况下),并且只有格式规则告诉您它是日期还是数字和如何显示它们。

我建议您查看两个使用 HSSF 事件模型基于事件提取 .xls 文件的优秀示例。第一个是 POI 本身,提供纯文本输出的EventBasedExcelExtractor 。第二个是 Apache Tika,ExcelExtractor,它提供了一个 XHTML 版本

在两者中,您将看到仅注册和处理少数 Record SID 的代码,您还将看到它们的用途。您还将了解如何在使用事件模型时访问 POI 的格式化代码,您需要使用它来使您的数字和日期看起来正确。

您可能还想查看另一个 POI 示例XLS2CSVmra,它显示了如何处理未使用的行和单元格通常不会出现在 Excel 文件中的事实。对于文本提取这不是问题,但对于 CSV 导出之类的事情,知道缺少单元格或行,以及有多少是关键!

于 2012-04-10T21:58:20.770 回答