2016/7/26

匯入ODS格式的資料 (C# / ODF)



因應國發會推動ODF-CNS15251格式,所有有資料交換的電子文書格式,亦須逐漸改以ODF格式為主。 在ODF中,對應Excel的檔案格式是.ODS。


要讀入資料,流程大概是:

1.將檔案讀入寫到某暫存目錄

2.將該檔案資料流讀出來,解壓縮,提取當中的 content.xml

程式參考自Gunnar Peipman的範例。
http://gunnarpeipman.com/2012/08/reading-opendocument-spreadsheets-using-c/

3.利用Linq to XML 把當中的資料列、儲存格讀出來,轉換格式以供後續使用。

※範例中的Uploader方法只是為了上傳與取得檔名,請用您自己的程式替代,以免無法執行。
※範例最下方 還有一個 class 叫做 ODFParser,用來解析出ODF壓縮檔內的xml,
它用到ICSharpCode.SharpZipLib.Zip 這個套件,但是執行效率似乎不佳。