文件没有服务

时间:2017-09-19 11:25:20

标签: c# .net webforms closedxml

我在单击按钮时尝试提供文档,但是没有下载Excel工作表。没有任何事情发生,没有错误或任何事情,我确实将它包装在一个尝试并捕获但它没有发出任何错误,它到达Response.Flush()Response.End()并没有任何反应。

用于构建excel表的表是从DB导入的数据表。

我正在使用ClosedXML

代码

    DataTable table = new DataTable();
    table = dtResults.Copy();
    table.Merge(dtResultsAll);
    table.TableName = "LookupData";

    using (XLWorkbook wb = new XLWorkbook())
    {
        wb.Worksheets.Add(table);

        Response.Clear();
        Response.Buffer = true;
        Response.Charset = "";
        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        Response.AddHeader("content-disposition", "attchment;filename=AuditReport.xlsx");

        using (MemoryStream MyMemoryStream = new MemoryStream())
        {
            wb.SaveAs(MyMemoryStream);
            MyMemoryStream.WriteTo(Response.OutputStream);
            Response.Flush();
            Response.End();
        }
    }

1 个答案:

答案 0 :(得分:0)

这是ClosedXML中的一个错误。

降级为0.76.0

我的代表:

static void Main(string[] args)
{
    DataTable table = new DataTable();
    table.TableName = "LookupData";
    XLWorkbook wb = new XLWorkbook();
    wb.Worksheets.Add(table);
    // no exception with below line:
    //wb.Worksheets.Add("table").Cell(1, 1).SetValue("Hello World");
    using (MemoryStream memoryStream = new MemoryStream())
    {
        wb.SaveAs(memoryStream); // IndexOutOfRangeException here
    }
}

这是我的问题:https://github.com/ClosedXML/ClosedXML/issues/493