2011-01-05 27 views
0

Microsoft Excel有一個不錯的「文本導入嚮導」來幫助加載非.xls或.csv文件的文件。用戶指定使用的分隔符(或固定寬度)以及有關列類型(一般,日期等)的一些信息。是否有任何開源Java庫可以模擬類似的功能,並允許將結果放入家釀數據結構中?開源Java庫模仿Excel的「文本導入嚮導」?

爲了澄清,假設我有一個數據結構來表示一個2D電子表格。我想從一個可能由製表符分隔,逗號分隔的文件中填充數據結構(這些文件可能很大)。我知道存在一堆CSV閱讀器,但是有沒有支持與列類型和其他類型的定製預處理相關的額外標記的類型?

我不是一個開源專家,但我會根據不會強制我發佈我的源代碼的許可證。謝謝。

+0

這很容易實現,沒有開源的解決方案,這樣微不足道的東西。 – IAdapter 2011-01-05 17:45:56

+0

我不認爲它像你想要的那樣微不足道。一般來說,CSV解析聽起來微不足道,直到您實際嘗試實現它,然後在邊緣案例之後發現邊緣案例... – 2011-01-05 17:48:43

+0

邊緣案例與不同的程序之間存在更多的兼容性問題,這些問題的實施方式有所不同。通常,儘管我努力與Excel兼容。也就是說,這並不困難,但它不一定只是String.split()瑣碎(引用,轉義和嵌入的新行是最大的問題,通常)。 – 2011-01-05 18:36:50

回答

0

看起來答案是「不」,沒有一個圖書館有我想要的。威爾的解決方案不包括我期待的預處理類型。

0

是的。 OpenCSV讓你選擇分隔符,影響到它能夠讀取各種文件

+0

這似乎只涵蓋了我正在尋找的部分。在Excel嚮導的第3步中,用戶可以指出第1列和第2列是日期,第3-5列是文本,第6列是常規等。我希望有一些類似的功能可以幫助處理類似的預處理問題。我知道添加這樣的東西不是火箭科學,但我希望不必重新發明輪子(這也讓我意識到其他人已經找到的所有問題)。 – 2011-01-05 19:17:48

+0

爲了找出列,我會說使用本地java方法。新的整數(col1).intValue(); (當然,試着把它包起來) – Will 2011-01-05 20:36:36