c# XSSFWorkbook 不可读的内容

c# XSSFWorkbook Unreadable Content

我希望你能在这里帮助我。我在使用 XSSFWorkbook 时遇到了一些问题。它生成文件没有问题,但是当我在 Excel 中打开时,我收到以下警告:Excel 在 'blah blah, blah.xlsx' 中发现无法读取的内容你想恢复此工作簿的内容吗?如果您信任此工作簿的来源,请单击“是”。如果我单击“是”,它会毫无问题地打开文件。但是,如果我 运行 通过记事本++,就在文件末尾,我得到了我的页面标记。

如果我使用 HSSFWorkbook,它会在 excel 中打开而不会出现错误,但我限制为 36k 行。我的导出超过 300k,所以我切换到 XSSFWorkbook。下面是我导出工作簿的方法。

    private void SaveXLSWorkbook(XSSFWorkbook workbook)
    {
        using (MemoryStream ms = new MemoryStream())
        {

            Response.Buffer = true;              
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("content-disposition","attachment;filename=ProductExport_" + _dateTime + ".xlsx");
            workbook.Write(ms);
            Response.BinaryWrite(ms.ToArray());
        }
    }

任何人都可以解释一下吗?提前致谢。 :) - 安迪

我正在使用类似的方法,它对我有用。对于响应对象,请使用如下代码中的 Clear() 和 End()。

using (MemoryStream ms = new MemoryStream())
               {
                Response.Clear();
                Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                Response.AddHeader("content-disposition","attachment;filename=ProductExport_" + _dateTime + ".xlsx");

                workbook.Write(ms);
                Response.BinaryWrite(ms.ToArray());                
                Response.End();
             }