EPPlus阵列尺寸超出了支持的范围。为System.OutOfMemoryException

时间:2017-04-18 08:29:56

标签: asp.net csv openxml epplus excelpackage

好的,我正在尝试将CS​​VStream加载到ExcelPackage中(我使用的是EPPlus)。

无论我选择什么选项,它始终在第221482行失败。我在x64上运行,我的app.config ...

给出的错误是标题中的错误:(

    public ExcelPackage ExcelPackageFromCsvStream(Stream csvStream)
    {
        var excelPackage = new ExcelPackage();
        var workSheet = excelPackage.Workbook.Worksheets.Add("Sheet1");

        var csvFormat = new ExcelTextFormat
        {
            Delimiter = ',',
            TextQualifier = '"',
            DataTypes = new[] { eDataTypes.String }
        };

        using (var sr = new StreamReader(csvStream))
        {
            int i = 1;
            foreach (var line in sr.ReadLines("\r\n"))
            {
                workSheet.Cells["A" + i].LoadFromText(line, csvFormat);
                i++;
            }
        }

        return excelPackage;
    }

1 个答案:

答案 0 :(得分:0)

通过创建多个ExcelPackages来解决它,并且我已经批量读取了流(例如,一次性读取200k行)

$addFields