Excelファイルの統計情報を提供するマルチスレッドのC#アプリケーションでコーディングしています。 私は、次のコードでファイルを開く:C#Excelファイルのマルチスレッドアクセス
private static Excel.Application excelApp = new Excel.Application();
private static Excel.Workbook workbook = excelApp.Workbooks.Open(path);
private static Excel.Worksheet worksheet = workbook.ActiveSheet;
private static Excel.Range range = worksheet.UsedRange;
private static int totalColumns = worksheet.UsedRange.Columns.Count;
は、私は、列ごとに1つのスレッドを使用していた列のうち、データを収集します。私は、各スレッドに新しいExcelアプリケーションを起動していない場合は0x800A01A8エラー:
for (int columnCount = 1; columnCount <= /*range.Columns.Count*/totalColumns; columnCount++)
{
Thread worker = new Thread(printSpread);
worker.Start(columnCount);
}
私はHRESULTを得ました。 私の質問は、これを行う必要があるのですか、それとも1つのExcelアプリケーションだけを使用する機会ですか? COM例外を説明するmulitpleスレッドによって、1つのアプリケーションからデータにアクセスする際に問題があると思います。 あなたの時間と助けてくれてありがとう。
ありがとう!実装を助けるためにこれを見つけた[リンク](http://stackoverflow.com/questions/14261655/best-fastest-way-to-read-an-excel-sheet-into-a-datatable) –
。私は完了のために私の答えを編集するつもりです –