簡體   English   中英

線程問題(讀寫一個Excel文件)

[英]threading problem (reading and writing to one excel file)

我有應用程序,可以執行某些操作。 通常,他們的主要任務是從excel文件中獲取數據后分析並繪制圖表。 此應用程式最多可以同時執行。 10種analise,它們中的每一個都在單獨的tabPage控件中的單獨線程中執行。 當出現3個問題時,一切都很好。

  1. 我無法從一個Excel文件中讀取數據,因此無法進行一些分析。 如果我正在使用一個文件進行一個分析,而又想將這個文件用於另一個分析,則不可能,因為有些消息說該文件被另一進程正確使用。 要從excel文件讀取數據,我正在使用oleDBConnection架構。 如何解決這個問題呢。

  2. 我有同樣的問題將數據寫入一個文件。 如何強制我的應用程序將來自不同線程的同一消息寫入一個文件。

  3. 如果我想關閉我的應用程序(當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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM