2003
01 02 03 04 05 06 07 08 09 10 11 12
2006
01 02 03 04 05 06 07 08 09 10 11 12
2007
01 02 03 04 05 06 07 08 09 10 11 12
2008
01 02 03 04 05 06 07 08 09 10 11 12
2009
01 02 03 04 05 06 07 08 09 10 11 12
2010
01 02 03 04 05 06 07 08 09 10 11 12
2011
01 02 03 04 05 06 07 08 09 10 11 12
2017
01 02 03 04 05 06 07 08 09 10 11 12
 
Mar
27
2007

產生 Excel 的檔案

最近的工作需要產生 Excel 的檔案。要產生 .xls 其實蠻麻煩的,不過要產生 Excel 可以讀的檔案倒是不難,可以直接用純文字寫 csv 檔。

不過想要讓 Excel 吃的 csv 能使用中文可讓我煞費苦心。中文版 Excel 存出來的 csv 竟然是用 big-5 編碼的!差點暈倒。

最後找到的多國語系解法是,「以 Tab 分隔 column ,UTF-16 Little Endian 編碼,檔頭加上 BOM(Byte Order Mark)」這樣的 csv 檔案,Excel 才能正確無誤地辨識出來。

(因為 OS X 的 textutil 產生的 UTF-16LE 編碼文字檔都不會帶 BOM,Excel 開出來都亂碼。可以用 TextWrangler 儲存為帶 BOM 的 UTF-16LE 文字檔)

 

Annotations RSS

“也可以試試看 Perl 的 Spreadsheet::WriteExcel,可以寫出正確的 .xls 檔出來,藥到病除。”

---lukhnos. 4/9, 2007
 
 

Write Concisely