0
我有兩個方法,方法1,方法2,都有鎖(應用程序)其中應用程序是同一類中的靜態實例。多線程訪問Excel
應用程序是一個靜態實例在共享工程助手
void method1()
{
lock(Helper.App)
{
ExcelApp.FormulaCell.AddComments(errMsg);
}
}
void method2()
{
lock(Helper.App)
{
//plot data (an 2-D array) to cells
var dataRng = ExcelApp.CurrentSheet.Cells(Formulacell.Row + 1, Formulacell.Column + 1);
dataRng = dataRng.get_Resize(n, m);
dataRng.Value2 = data;
}
}
方法1,方法2是由多個線程調用。 我想一次只有method1或method2運行 問題是他們似乎沒有。
在方法1 &方法2,我繪製的一些數據到Excel中,我得到異常
名稱:收到COMException 消息:從HRESULT異常:0x800AC472
我用Google搜索,發現異常是由Excel導致應用程序未準備好。 沒有UI手勢,所以我得出結論,這個異常是由兩種方法試圖同時寫入Excel引起的。
您目前是否遇到'method1()'和'method2()'在同一時間運行? – 2013-04-23 16:30:11
對不起,我找不出問題所在。你到目前爲止編碼了什麼?你有什麼錯誤嗎? – 2013-04-23 16:30:15
你有什麼應該工作。你有什麼問題? – 2013-04-23 16:30:19