2009年4月24日

Excel 2000 裡「SYLK:檔案格式無效」

之前在駐點的公司曾碰到一個很神奇的狀況,有一位 User 反應說在 Excel 打不開 .CSV 的報表,而且會一直出現一個錯誤訊息:「SYLK 的檔案格式無效」。

說來奇怪,這個檔案明明就是純文字轉成 CSV 的檔案,標準的資料用逗點做分隔而已,但笨笨的 Excel 2000 卻一直硬是把這個 CSV 的報告當做 SYLK 格式的檔案(我用 Notepad 開都沒有問題 )

在請教過 Google 大神後,我找到了答案(原本的網址已經不見了),我引用原文如下:

Something I stumbled across trying to return a *.csv file to Excel 2000: If the very first text in the file is "ID", Excel will ignore the file extension and attempt to read the file as a SYLK (Symbolic Link) file format.

Just wanted to share this hidden tidbit, in the off-chance that it may save somebody else pain.

-- Rob Storrs, February 15, 2001

大致上的意思是:只要 CSV 的檔案是以「ID」開頭的,Excel 就會把它當做是 SYLK 的檔案格式(真是聰明的程式),我自己實驗了一下,真的只要把 ID 二個字改掉,就沒有問題了,真是令人絕倒啊!

註一、
SYLK 即為 Symbolic Link 的縮寫。
在 Excel 中,SYLK 類型的檔案含有 macro,假若在 Excel 97 或 Excel 2000 內開啟此類型檔案,檔案內的 macro 會在未通知使用者的情形下被執行,這個 macro 命令可以是使用者在電腦上所能執行的任何命令。

註二、
這個問題在 Office 2003 裡已經解決,但仍會出現警告視窗,警告的內容還是一樣!所以放上來記錄一下。