2012-04-09 212 views
1

我想使用Apache POI的HSSF EventModel讀取Excel文件(.xls格式)。我的Excel表是一個簡單的excel文件,沒有宏。只是想知道我必須處理哪些類型的記錄。使用POI EventModel讀取Excel文件

以下是類型的Excel文件中的數據: -

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

我發現這些BoolErr,空白,數字。讓我知道我必須處理哪些其他記錄。

感謝 斯里尼瓦桑

+0

你想從你的文件中找出什麼樣的東西?文本?數字?格式化?樣式?表單名稱?鏈接?圖片?您需要的內容很大程度上決定了哪些記錄很重要... – Gagravarr 2012-04-09 15:32:57

+0

我只想要文本,日期和數字沒有樣式,沒有圖像,沒有樣式..等 – srinivasan 2012-04-09 15:48:12

+0

原始浮點數字或數字,因爲他們看起來在Excel中?此外,原始Excel日期(自1900/1904年以來的天數)還是Excel中查看的日期? – Gagravarr 2012-04-09 16:13:58

回答

1

如果你想數字和日期顯示出來,因爲他們在Excel中做,那麼你需要的所有單元格的格式信息。這是因爲數字和日期單元格的存儲方式相同,每個記錄的浮點數爲一個單元格(除了MulRks周圍的一些特殊情況外),它只是格式化規則,告訴您它是日期還是數字,如何顯示它們。

我建議你做的是看看兩個很好的例子,用基於事件的提取使用HSSF事件模型的.xls文件。首先是POI本身,EventBasedExcelExtractor,它提供純文本輸出。第二個是Apache Apache Tika,ExcelExtractor,它提供了一個XHTML版本

在這兩者中,您都會看到僅註冊和處理一些Record SID的代碼,並且您還將看到它們的用途。在使用事件模型時,您還將看到如何訪問POI的格式化代碼,您需要使用該模型才能使您的數字和日期看起來正確。

您可能還想看看另一個POI示例XLS2CSVmra,它顯示瞭如何處理這樣的事實,即通常未使用的行和單元格不顯示在Excel文件中。對於文本提取而言,這不是問題,但對於像CSV導出這樣的事情,知道單元格或行缺失,以及有多少是關鍵!

相關問題