FileFix Ultimate
繁體中文

如何從損毀的Excel檔案中救出資料

即使Excel活頁簿損毀到用「開啟並修復」和重建封裝都打不開,裡面的儲存格數值往往仍然讀得到。FileFix Ultimate的擷取模式會讀取它找得到的每個工作表,把數值寫入新的純數值.xlsx,並為每個工作表各寫一個CSV檔。公式、格式、巨集與圖片不會帶過來,所以請把結果看作你的資料,而不是完整的活頁簿。

最後更新:

現在該怎麼做

  1. 複製損毀的活頁簿,只在複本上操作。
  2. 先試試Excel的「開啟並修復」與重建封裝,它們有機會保留公式和格式。
  3. 如果活頁簿仍然打不開,在「損毀檔案修復」中選擇擷取,取得純數值.xlsx與每個工作表的CSV。
  4. 檢查結果的列數與合計,再在需要的地方重建公式與格式。

操作步驟

  1. 複製活頁簿

    把.xlsx或.xls檔複製到另一個資料夾或磁碟,原始檔保持不動。0 KB的檔案裡沒有可擷取的內容,請改找自動回復複本或較早的版本。

  2. 先試損失較小的辦法

    在Excel中選擇「檔案」「開啟」「瀏覽」,選取複本,按「開啟」旁的箭頭,選擇「開啟並修復」,再按「修復」或「擷取資料」。若是.xlsx,也值得試試FileFix Ultimate「損毀檔案修復」中的重建封裝。兩者保留的內容都比擷取模式多。

  3. 在「損毀檔案修復」中選擇擷取

    開啟「損毀檔案修復」並選擇活頁簿。如果檔案無法恢復到可開啟狀態,程式會提議擷取其內容,選擇即可。原始檔只會被讀取,結果寫成新檔案。

  4. 開啟純數值活頁簿

    程式會寫出在原檔名後加上.values.xlsx的新檔案。在Excel中開啟並逐一查看工作表。文字、數字、TRUE或FALSE、錯誤值與日期都會出現在原本的列與欄位置。

  5. 需要時使用CSV檔

    每個工作表也會另外存成帶BOM的UTF-8 CSV檔,所以用Excel開啟時中文不會變成亂碼。CSV方便匯入其他程式,或與備份比對。

  6. 檢查並重建

    把合計、列數和幾個已知數值與預期對照。接著重新輸入關鍵公式、套用數值格式並重建圖表。請保留損毀的原始檔,也許專業機構或日後別的工具還能救回更多。

擷取模式能從XLSX讀到什麼

.xlsx檔是一個ZIP封裝,每個工作表對應一個XML組件,另外還有字串表、樣式等共用組件。即使活頁簿組件、關聯、共用字串或樣式已經損毀,擷取模式也會在能解壓縮的範圍內讀取這些組件,逐格取出共用字串、內嵌字串、數字、布林值與錯誤值。

對於公式儲存格,它保留的是Excel最後一次計算並儲存的結果,而不是公式本身。具有日期格式的儲存格在新活頁簿中寫成真正的日期,在CSV中寫成ISO日期,所以不會只剩下45231這類序列值。

Excel 97至2003的舊版XLS檔

舊版.xls檔以二進位BIFF8格式存放在複合檔案容器中。如果容器已損毀,擷取模式會在整個檔案中尋找活頁簿資料流的起點,從那裡開始讀取。它能辨識常見的儲存格記錄:共用字串與標籤、數字、RK與多重RK值、布林值與錯誤值、已儲存的公式結果,以及正確顯示日期所需的日期設定。

設有開啟密碼的活頁簿是加密的,擷取模式不會讀取。任何.xls檔都值得先試試Excel自己的修復,因為它原生支援這種舊格式。

會遺失什麼,以及如何使用結果

公式、數值格式、色彩、合併儲存格、欄寬、圖表、樞紐分析表、圖片、註解與巨集都不在擷取出的檔案中。XML組件被截斷的工作表可能在中途結束,報告會記錄這種情況。以等號、加號、減號或@開頭的文字儲存格,在CSV中會加上前置撇號,避免試算表把它們當成公式執行。

最快回到可用檔案的辦法,往往是把擷取出的數值貼到同一活頁簿的舊複本或範本中,這樣公式與版面都已經在那裡了。

無法擷取的情況

  • 以開啟密碼加密的活頁簿,沒有密碼無法擷取。
  • 0 KB的檔案或全是零的檔案裡沒有儲存格資料。
  • XML組件或BIFF記錄被覆蓋的工作表,只能取回可讀的列,或什麼也取不回。
  • 擷取模式只取出數值,不會還原公式、格式、圖表、圖片與巨集。

FileFix Ultimate能幫你做什麼

  • 從無法恢復到可開啟狀態的XLSX與舊版XLS活頁簿中擷取儲存格數值。
  • 寫出保留列、欄與日期的純數值新.xlsx,以及每個工作表一個UTF-8 CSV。
  • 公式儲存格保留最後一次計算結果,並在報告中說明哪些部分沒能讀取。
  • 不修改原始檔案,個人使用免費,沒有檔案大小限制,也不上傳。

FileFix Ultimate 個人使用免費、可離線使用,且絕不會寫入你正在復原來源的磁碟機。工作或商業用途需為每台電腦購買一年期授權。執行前請先檢查簽章。

常見問題

為什麼擷取出的檔案裡公式不見了?

擷取模式保留的是每個公式最後得出的值,也就是Excel存放在儲存格裡的值。公式文字依賴常常損毀的組件,因此不會帶過來。請重新輸入關鍵公式,或把數值貼到仍保有公式的舊複本中。

用Excel開啟CSV出現亂碼,怎麼辦?

CSV檔以帶BOM的UTF-8寫出,目前版本的Excel能自動辨識。如果較舊的程式顯示亂碼,請透過資料匯入功能開啟,並把編碼選為UTF-8。

為什麼CSV中有些文字儲存格以撇號開頭?

以=、+、-或@開頭的文字在開啟CSV時可能被當成公式執行,所以程式會在這類文字前加上撇號,讓它保持為一般文字。純數值.xlsx中的文字不受影響。

應該先用擷取模式還是一般修復?

先用一般修復。只要相關組件完好,重建封裝可以保留公式、格式與圖表。擷取模式是活頁簿仍然打不開時的最後辦法。

分享此頁面