Excel部分內容有問題您要我們盡可能嘗試復原嗎

解決開啟 Excel 檔案內容錯誤需要復原、移除部分公式的問題

開啟 Excel 檔案時遇到內容有問題,需要復原的問題。可能原因是原始欄位值包含 = 符號,但是並不是函式(例如 === 分隔線 ===)。解決方式:將欄位值前加上單引號。如果要產生 CSV 檔案再轉成 Excel 檔案,則需要將欄位值前後加上雙引號 " 框住欄位值。


問題狀況

Excel 檔案是透過程式產生檔案,但是開啟檔案時遇到「我們發現 xxx.xlsc 的部分內容有問題。您要我們盡可能嘗試復原嗎?」的訊息文字。有時候 Excel 可以修復又時候不行修復,即使完成修復,也不清楚哪個儲存格資料出現問題。

Excel部分內容有問題您要我們盡可能嘗試復原嗎

開啟修復記錄檔,顯示「已移除的記錄: /xl/worksheets/sheet1.xml 部分的 公式」代表工作表1 部分內容的公式已經被移除

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<recoveryLogxmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>檔案名稱.xml</logFileName><summary>檔案 '檔案名稱.xlsx' 中偵測出錯誤</summary><removedRecordssummary="下列是已移除記錄的清單:"><removedRecord>已移除的記錄: /xl/worksheets/sheet1.xml 部分的公式</removedRecord></removedRecords><repairedRecords summary="下列是修復清單:"><repairedRecord>已修復的記錄: /xl/workbook.xml 部分的工作表內容 (活頁簿)</repairedRecord></repairedRecords></recoveryLog>

解決方法

與 解決打開 Excel 檔案遇到「已移除的記錄: /xl/worksheets/sheet1.xml 部分的公式」 狀況一樣,由於欄位值內容包含由使用者書寫的文章內容,但是並不是函式(例如 === 分隔線 ===),所以需要將 Excel 欄位值前面加上單引號,避免誤以為是公式 (formula)。

如果要產生 CSV 檔案再轉成 Excel 檔案,則需要將欄位值前後加上雙引號 " 框住欄位值。不過如果欄位值包含雙引號,則需要額外 escape,變成 ""。

參考資料

  • Accessing cells - PhpSpreadsheet Documentation
  • escaping - Properly escape a double quote in CSV - Stack Overflow
  • 修復損毀的活頁簿 - Excel

無效的嘗試

  • How to Add Quotes to Your Cells in Excel Automatically – Lena Shore

附錄

PHP Fatal error:  Uncaught PhpOffice\PhpSpreadsheet\Calculation\Exception: Worksheet!A2 -> Formula Error: An unexpected error occurred in /Users/excel-test/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php:272

Stack trace:

#0 /Users/excel-test/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php(1120): PhpOffice\PhpSpreadsheet\Cell\Cell->getCalculatedValue()

#1 /Users/excel-test/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php(1190): PhpOffice\PhpSpreadsheet\Writer\Xlsx\Worksheet->writeCellFormula(Object(PhpOffice\PhpSpreadsheet\Shared\XMLWriter), '=Hello World !', Object(PhpOffice\PhpSpreadsheet\Cell\Cell))

#2 /Users/excel-test/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php(1047): PhpOffice\PhpSpreadsheet\Writer\Xlsx\Worksheet->writeCell(Object(PhpOffice\PhpSpreadsheet\Shared\XMLWriter), Object(PhpOffice\PhpSpreadsheet\Worksheet\Worksheet), 'A2', Array)

#3 /Us in /Users/excel-test/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php on line 272

說明 Excel 如何轉換文字格式的日期時間格式,例如將下圖文字格式的 A 欄「年-月-日 時:分:秒」,轉換成 B欄「年/月/日 時:分」格式。 步驟1: 將文字轉換成日期時間數值 多數日期時間欄位值是 Excel   VALUE 函數  可以辨識的格式。可以直接轉換成日期時間數值。 B2 儲存格 = VALUE(A2) 上圖 B 欄整數部分是 1900/1/1 到指定日期的天數 (資料來源:  DATEVALUE ),小數點數字部分則是代表「0:00:00 (12:00:00 A.M.) 到 23:59:59 (11:59:59 P.M.) 的時間」(資料來源:  TIMEVALUE )。 如果原始資料是 VALUE 函數無法辨識的格式,例如「20150318 1345」會回傳「#VALUE!」,則請參考  Excel-轉換文字字串為標準日期數值格式(DATE,TIME,MID)   作法。 步驟2: 自訂時間格式 B欄儲存格的格式目前是「通用格式」 選取要修改的儲存格,從「通用格式」切換到「自訂」 因為要轉換成「年/月/日 時:分」,請在「類型」處,自行輸入「YYYY/MM/DD HH:MM」。再按確定,即可完成轉換。(關於 YYYY、MM、DD 格式代碼詳細說明,請參考  TEXT 函數 - Office 支援  。) 如果不想用上面方法,可以直接修改 B2 儲存格的函數 B2儲存格 = TEXT(VALUE(A2), "YYYY/MM/DD HH:MM") 如果目的是讓 A 欄可以依照時間 遞增遞減排序 ,而時間格式並不重要,則可以採取以下步驟  步驟 (3) 將 - 符號,取代為 - 符號 選好要轉換的 A 欄,尋找 - 符號,再取代成為 - 符號 (沒看錯,是相同符號)。可讓 A 欄可以依照時間遞增遞減排序。 原因解釋:因為文字格是的排序選項是依照文字 A-Z 或 Z-A 排序,而 無法依照時間遞增遞減排序。 但是使用尋找取代就可以解決問題。但是如果逐一點選儲存格 (快速鍵 F2),內容不作任何修改,再按 Enter ,會發現該欄位可以依照時間遞增遞減排序。原本的 F2 再按 Enter 的步驟,改成尋找取代可以達到批次修改與按 Enter。 無效的嘗試 選取文

excel部分內容有問題 相關參考資料

Excel 2013 儲存後開啟會出現要復原的問題- Microsoft ...

Windows 8.1安裝了Office 2013,但目前在使用EXCEL時,只要編輯好檔案後,再開啟時,就會出現錯誤訊息:「會出現XXX.xls的部分內容有問題.

https://answers.microsoft.com

Excel 2016 儲存後開啟會出現要復原的問題- Microsoft ...

最近我使用excel 2016(windows 7 32bit)打開舊檔案會出現這訊息:我們發現&#39;xxx.xlsx&#39;的部分內容有問題。您要我們盡可能嘗試復原嗎?如困您信任&nbsp;...

https://answers.microsoft.com

Excel文件打開後出錯,部分內容丟失的修復技巧- 每日頭條

怎麼避免Excel文件中開始與結束標記不匹配的問題了. 通過在網上查找資料發現導致這種原因的問題有很多,大致如下. 1、表格中不要使用大量的外部&nbsp;...

https://kknews.cc

[算表] excel 檔案損毀解決方式分享- 看板Office - 批踢踢實業坊

軟體:office excel 版本:office 2013 今天excel檔無預警出現檔案損毀無法 ... 幾乎每天都會存取及新增資料或修改今天開起時出現部份內容有問題,&nbsp;...

https://www.ptt.cc

【分享】四招助你恢復損壞的Excel文件!! @ 隨便寫寫:: 隨意窩 ...

打開一個以前編輯好的Excel工作簿,卻發現內容混亂,無法繼續進行編輯,而且還不 ... 這是很多朋友在處理Excel文件時都可能會遇到的一個問題,面對這種情況時,我們 ... 那麼將工作簿轉換為SYLK格式可以篩選出文檔的損壞部分,然後再保存數據。

https://blog.xuite.net

修復損毀的活頁簿- Excel - Office Support - Office 365

當您開啟損毀的活頁簿時,Excel 會自動開始[檔案修復] 模式,並嘗試重新開啟及同步修復活頁簿。 ... Excel 問題. 修復損毀的活頁簿 ... 或者,您可以指定Excel 自動以特定的時間間隔建立復原檔案。 如此一 ... 讓這些內容對您有所幫助是我們的目的。

https://support.office.com

解決Excel 檔案無法直接開啟的問題 - Err

想要直接開啟Excel 檔案,遇到「我們發現&#39;error.xls&#39; 的部分內容有問題,您要我們盡可能復原嗎? 如果您信任此活頁簿的來源,請按一下[是]」訊息。

https://errerrors.blogspot.com

開啟excel 出現部分內容有問題訊息(2) | MIS的背影

之前有記錄過excel現部分內容有問題訊息( 如下網址) ... 最後找到LibreOffice 來測試,開啟原來有問題的excel 依樣可以正常開啟. excelerr-5.

https://blog.pmail.idv.tw

關於NPOI 導出的Excel 出現“部分內容有問題” 的解決方法- IT閱讀

刪除xxx arr 生成log 是否write 屬性字節. 近期發現使用NPOI 導出的Excel 文件,有部分用戶反映在打開時報錯,測試了一下,發現在低版本的Office&nbsp;...

https://www.itread01.com