代码之家  ›  专栏  ›  技术社区  ›  AndyPoole

c#XSSFWorkbook不可读内容

  •  1
  • AndyPoole  · 技术社区  · 7 年前

    如果我使用HSSFWorkbook,它在excel中打开时不会出错,但我只能使用36k行。我的出口超过30万,所以我切换到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());
            }
        }
    

    有人能解释一下吗?提前感谢:)-安迪

    1 回复  |  直到 7 年前
        1
  •  1
  •   kumar chandraketu    7 年前

    我正在使用类似的方法,它对我很有效。对于响应对象,请使用下面的代码中的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();
                 }