2011-08-04 161 views
1

我有一個程序在excel中使用動態創建的報告,並將它們打印到pdf中。我遇到一些運行時間爲4-5小時的報告存在問題。 Excel內存使用開始超出系統限制,我無法確定在不殺死應用程序進程的情況下清除某些內存的方式。有沒有人有任何煽動?我不能殺死並重新啓動Excel進程,因爲我的對象在C#中的Excel對象中需要保留一些信息。謝謝。Excel C#Interop

+4

請提供更多的信息,一些源代碼...你到目前爲止嘗試過什麼?內存分析器?任何異常/錯誤消息? – Yahia

+0

我沒有得到任何異常,但是當內存超出系統限制時,excel掛起。我嘗試過退出excel,GC.Collect()。 – M4V3R1CK

+1

你是否在你的代碼中使用了內存分析器,因爲你寫了你需要在C#中保存一些信息?一些源代碼尤其如此。與Excel交互的部分和/或堅持一些信息將有助於理解/解決此問題 – Yahia

回答

0

首先,我建議你可以先在數據庫中準備數據,因爲動態調用非常慢。

只要讓你的excel api應用程序做關於顯示和轉換的工作。

您是否嘗試使用excel.Visible = true來顯示excel UI?