[英]threading problem (reading and writing to one excel file)
我有應用程序,可以執行某些操作。 通常,他們的主要任務是從excel文件中獲取數據后分析並繪制圖表。 此應用程式最多可以同時執行。 10種analise,它們中的每一個都在單獨的tabPage控件中的單獨線程中執行。 當出現3個問題時,一切都很好。
我無法從一個Excel文件中讀取數據,因此無法進行一些分析。 如果我正在使用一個文件進行一個分析,而又想將這個文件用於另一個分析,則不可能,因為有些消息說該文件被另一進程正確使用。 要從excel文件讀取數據,我正在使用oleDBConnection架構。 如何解決這個問題呢。
我有同樣的問題將數據寫入一個文件。 如何強制我的應用程序將來自不同線程的同一消息寫入一個文件。
如果我想關閉我的應用程序(當analise之一正在工作時),則會顯示一些與通信的消息:“中斷持久線程(或類似的東西)”。 我不知道為什么 我支持這個
請幫助我解決此問題,因為我想在星期一星期一解決問題,並且沒有任何效果:(
可能的例子
string FullExcelFilePath = "C:\ExcelFile.xls";
Excel.Application xlApp = new Excel.Application()
Excel.WorkBook xlWorkBook1 = xlApp.WorkBooks.Add(FullExcelFilePath);
Excel.WorkBook xlWorkBook2 = xlApp.WorkBooks.Add(FullExcelFilePath);
//then in your first ThreadCall
foreach(Excel.WorkSheet in xlWorkBook1.Sheets)
{
//get what you want
}
//then in your 2nd ThreadCal
foreach(Excel.WorkSheet in xlWorkBook2.Sheets)
{
//get what you want
}
您可以做的其他選擇是:
您可以為另一個線程復制Xls,然后
在其他線程中使用xls文件的副本。
File.Copy(strFileName, strDestination);
然后刪除它
File.Delete(strFileNameSecondVersion)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.