将大型(> 500000行)数据集导出到xlsx中

时间:2017-03-10 11:18:28

标签: c# dataset xlsx foxpro closedxml

我将数据集导出到xlsx时遇到问题。我的代码:

DataSet freeTable = new DataSet();
freeTable = FoxDal.Instance.freeTable;
XLWorkbook wb = new XLWorkbook();
wb.Worksheets.Add(freeTable.Tables[0], "sheet1");
wb.SaveAs(@"E:\test5.xlsx");

运行代码VS给我提示(问我XLReentrantEnumerableSet.cs在哪里)如果我不选择它VS抛出异常System.OutOfMemoryException。我使用的是ClosedXML。这个框架有一些附加的库吗?使用小表,我的代码可以正常工作。

1 个答案:

答案 0 :(得分:0)

我将框架更改为EPPlus,现在我可以转换大文件。 我的新代码:

        DataSet freeTable = new DataSet();
        freeTable = FoxDal.Instance.freeTable;
        FileInfo fileInfo = new FileInfo(@"E:\Test.xlsx");
        using (ExcelPackage pck = new ExcelPackage())
        {
            ExcelWorksheet ws = pck.Workbook.Worksheets.Add("table");
            ws.Cells["A1"].LoadFromDataTable(freeTable.Tables[0], true);
            pck.SaveAs(fileInfo);
        }