4

私はclosedxmlを使用して、データテーブルをasp.netでExcelにエクスポートしています。エクスポートする行が 5 万行未満の場合は問題なく動作しますが、それ以上の行をエクスポートすると例外がスローされます。31列あります。データテーブルを10000行に分割してから、データテーブルを別のシートに追加しています。誰かが私を助けてくれれば幸いです。以下はコードです。

    XLWorkbook wb = new XLWorkbook();

        foreach (DataTable dtdiv in splitdt) //to remove any special characters to avoid format exception(the datatable has xml content)
        {
            foreach (DataRow row in dtdiv.Rows)
            {
                for (int i = 0; i < dtdiv.Columns.Count; i++)
                {
                    if (dtdiv.Columns[i].DataType == typeof(string))
                    {
                        if (row[i] != System.DBNull.Value)
                        {
                            row[i] = ReplaceHexadecimalSymbols((string)row[i]);
                        }
                    }
                }
            }
            string newString = "report_" + k;

            wb.AddWorksheet(dtdiv, newString);
            k++;

        }


        FileStream fs = new FileStream(Server.MapPath("Test.xlsx"), FileMode.Create);
        wb.SaveAs(fs);
        fs.Close(); 

私も次を使用してみました

            Response.Clear();
        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        Response.AddHeader("content-disposition", "attachment;filename=" + (String)Session["MatrixOutputFileName"]);

        using (MemoryStream memoryStream = new MemoryStream())
        {
            wb.SaveAs(memoryStream);
            memoryStream.WriteTo(Response.OutputStream);
            memoryStream.Close();
        }
        Response.End();
4

0 に答える 0