如果我使用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()); } }
有人能解释一下吗?提前感谢:)-安迪
我正在使用类似的方法,它对我很有效。对于响应对象,请使用下面的代码中的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(); }