2017-02-18 71 views
-1

我是一個特殊問題,我必須處理電子表格(xls,csv)中給出的數據。我會在我的java程序中使用這些數據。Excel讀取 - 在讀取時修改多個列值 - Java,邏輯

電子表格數據是在別處生成的,我無法控制它。其中有幾列有一個系統特有的格式,我應該有一個選擇「編程」關於如何將其轉換爲我需要的格式。在我的項目

簡單的方法是到過

a) read the spreadsheet and apply transformations in place while reading. 
b) read each row as a java object and iterate over this list and do the modifications 
c) use some in-memory DB like H2 and apply some **user-defined functions** (dont know how) either while reading into the memory or transforming it later. 

在這個時間點,我真的不知道所有的3個選項中詳細想通了。所以請原諒含糊不清。

有沒有其他的選擇嗎?更重要的是,因爲我可以有成千上萬的記錄,其中5列以上可能需要轉換,什麼是最快的方法?

回答

0

首先您可以檢查文件是否爲excel或電子表格。 如果它的excel可以使用Apache poi,那麼它對解析excel文件非常有用。在這種情況下,您可以在讀取時應用轉換。

電子表格以逗號分隔,因此您可以使用拆分功能並解析它。在這種情況下,您不能在讀取時應用轉換,而是在數組中收集並執行相同操作。

性能取決於您如何優化代碼。您可以使用Java 8 Streams進行流式處理並有效使用代碼。