使用Parallel.For和EPPlus创建Excel工作表

时间:2016-01-20 21:37:36

标签: c# epplus

我正在使用EPPlus库创建包含许多工作表的Excel工作簿。我想知道并行构建工作表是否安全。如果库支持这种行为,我在(有限的)文档中找不到提及:

package = new ExcelPackage();
int start = 1;
int end = 100;

Parallel.For(start, end; s =>
{
    var worksheet = package.Workbook.Worksheets.Add("Worksheet" + s.ToString());
    //routine to populate data here
});

1 个答案:

答案 0 :(得分:2)

简要介绍一下源代码:https://github.com/JanKallman/EPPlus/blob/master/EPPlus/ExcelWorksheets.cs

正如您所看到的,Add方法调用AddSheet方法,该方法使用lock(...)来使操作成为线程安全的,所以是的,您可以使用Parallel.For。