使用POI EventModel读取Excel文件

时间:2012-04-09 15:25:41

标签: excel apache-poi

我想使用Apache POI的HSSF EventModel读取Excel文件(.xls格式)。我的excel表是一个没有宏的简单excel文件。只是想知道我需要处理什么类型的RECORDS。

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

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

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

由于 斯里尼瓦桑

1 个答案:

答案 0 :(得分:1)

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

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

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

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