gen*_*ene 3 c# datatable epplus
我正在尝试使用 EPPlus 库将包含 1000000 条记录的数据表导入 Excel。
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Demo");
var recordCount = dt.Rows.Count;
ws.Cells["A5"].LoadFromDataTable(dt, true);
Run Code Online (Sandbox Code Playgroud)
我Row Out of Range在ws.Cells["A5"].LoadFromDataTable(dt, true);网上遇到异常
当我有 1000 条记录时它起作用了。
使用 EPPlus 时是否有行限制大小?
您可能尝试导入多于 1.000.000 条记录。引发此异常之前的最大值为 1.048.576(完全等于为 Excel 2010 版指定的最大行数)。
看看源代码:
ExcelRangeBase.cs 中LoadFromDataTable方法的最后一行返回导入的 excelrange:_worksheet.Cells[...]
您可以在ExcelRange.cs 中找到此索引器的实现,在那里您将看到该范围是由ValidateRowCol(一直在底部)验证的。
最后,当请求的行大于 excel 包的 MaxRows 属性(等于 1.048.576)时,此验证会抛出您提到的异常