Excel 自動復原會耗盡所有 16GB RAM,並且永遠無法載入令人窒息的 32MB 檔案

Excel 自動復原會耗盡所有 16GB RAM,並且永遠無法載入令人窒息的 32MB 檔案

我已經閱讀了我能找到的所有自動恢復問題,雖然如果文件出現的話有些問題會很有用,但這似乎有所不同。

我正在處理一個非常大的數據集。我將該資料集複製並貼上到一個表中,該表對最後幾列中的原始資料進行了相當廣泛的計算(如果載入了,我需要檢查列的順序...可能的問題是操作無序,從左到右,建立處理循環。對於較小的資料集(幾千行)永遠不會引起注意,但在數萬行時可能會改變遊戲規則...

這張桌子大約花了5個小時才完成處理。我嘗試保存它,但當時我的電腦丟失了網路磁碟機(另一個煩人的問題),因此我將其保存到網路位置(與網路磁碟機相同,僅使用 IP 位址而不是伺服器名稱)。很好。

我重新啟動以清除 RAM 和所有內容,並嘗試開啟已儲存的文件。 Excel 顯示該檔案已損壞,並花了 5 個小時左右的時間才完成錯誤檢查。它刪除了表格格式,並且丟失了一堆公式......一切都很好,很容易恢復。我將文件保存在本地以避免任何網路問題。

我嘗試打開該文件,但花了幾個小時並且從未打開後放棄了。然而,不只一個 Excel 進程啟動,第二個進程膨脹到電腦上的完整 16GB RAM(Windows 7、Office 2016、3.2 MHz、四核,所有內容均已完全更新)。

我什至嘗試打開一個新的空白文檔。它打開得很好,但另一個 Excel 進程出現在 Process Explorer 中並穩定增長,直到它耗盡 100% 的可用記憶體和 0-1% CPU。空工作簿幾乎無法使用,鍵盤/滑鼠輸入和反應之間有 6-10 秒的延遲。

我看過說明關閉自動儲存/恢復來自文檔內,但如果文檔從未加載,這似乎是不可能實現的。

我知道有開關可以新增到基本的 excel.exe 命令中,但我找不到與停用自動復原相關的命令。我什至找不到 tmp 檔案自動恢復理論上是在嘗試自動恢復。我會刪除它並儘量減少我的損失。

讓我擔心的是,即使只是嘗試啟動一個新工作簿也會發生這種情況,因此“將資料複製到新工作簿”的舊解決方法已經過時了,因為我無法讓它完成加載,因此我可以建立一個新作業簿。我甚至無法從頭開始該專案(嗚嗚嗚!),因為 Excel 透過這種虛擬的自動復原過程自行停止。

那麼,長問題短:如何在 Excel 啟動時繞過自動恢復(以及任何其他「有用」的功能)?

答案1

刪除兩者中的所有臨時文件
Users/username/AppData/**Roaming**/Microsoft/Excel

Users/username/AppData/**Local**/Microsoft/Excel
似乎已經解決了 Excel 崩潰的問題,每次我嘗試啟動 Excel 時都會嘗試自動恢復此損壞的文件,除了 /s 標誌,如評論中所述。

在其他新聞中,伺服器上的捲影副本值得稱讚。我找到了一個版本,我只損失了 2 天的工作量,而不是 5 天。

答案2

附加答案/觀察:我開始以遞增的增量向表中新增資料行(實際上是 2 行,然後是 20 行,然後是 200 行,然後是 1,000 行)。一切似乎都進展得很順利......我開始一次添加幾千行,這需要幾秒鐘的時間來處理,但沒有什麼關係。我意識到我仍然打開了 Process Explorer,並且看到記憶體使用量隨著表中每次添加行而增加。我刪除了幾千個,記憶就回來了。

因此,Excel 表格(與常規電子表格相比)似乎以相當線性的方式佔用更多的 RAM。我開始在表中放入一千左右行,取得我需要的所有解析/修訂/編輯,然後將值複製到另一個工作表中,然後從表中刪除。

另一個可能的點:至少有兩個公式比較一列中的值,該列可能有重複項,並在下一列中只列印一次。因此,它總是掃描列中的所有值...與僅根據其格式(123abc456 vs abc456 vs 123abc456.78 等)連接值或修改資料的公式相比,這似乎可能會產生大量的開銷)。這些只是跨行工作,而不是掃描整個列。

相關內容