如何使用c#在多个线程中分发读取Excel文件任务或进程

时间:2016-01-18 16:49:26

标签: c# excel multithreading

我想通过使用多个线程来读取excel文件(超过2个包含多个工作表的excel文件),并且我想在这些多个线程中分发读取过程。

1 个答案:

答案 0 :(得分:1)

所以你的意思是这样的:

public void StartFileLoading(string[] filenames)
{
    Task.WaitAll(filenames.Select(fn => Task.Run(() => ReadExcelFile(fn))).ToArray());
}

这会为要加载的每个文件创建一个Task,然后等待它们完成(如果您对结果不感兴趣,则不必这样做。)
您可能想要添加一些错误或结果处理。

如果您想更具体地说明应如何创建任务/线程,则可以阅读MSDN about TaskFactory.StartNew以替代Task.Run。但请确保框架在大多数情况下自己最了解。