使用 Parallel.For 和 EPPlus 创建 Excel 工作表
Creating Excel worksheets using Parallel.For and 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
});
快速查看源代码:https://github.com/JanKallman/EPPlus/blob/master/EPPlus/ExcelWorksheets.cs
如您所见,Add 方法调用使用 lock(...) 的 AddSheet 方法来进行操作 thread-safe,所以是的,您可以使用 Parallel.For.
我正在使用 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
});
快速查看源代码:https://github.com/JanKallman/EPPlus/blob/master/EPPlus/ExcelWorksheets.cs
如您所见,Add 方法调用使用 lock(...) 的 AddSheet 方法来进行操作 thread-safe,所以是的,您可以使用 Parallel.For.