我目前看到从gridview到excel文件的导出结果存在问题。我们使用.xls版本,当它打开时,我们看到一些用户等待1小时打开一个大约80000行和大约50MB的导出文件。在1小时内,他们无法使用任何MS Office程序。请注意,此文件也已格式化。
我阅读的一种解决方法是使用.xlsb格式。虽然我通过保存50MB文件测试它并看到文件大小减少,但是在将文件写成.xlsb文件后打开文件时出现问题。
我收到错误"****Excel cannot open the file 'testme.xlsb' because the file format or file extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file.**"**
这是我使用的代码。你能帮忙吗?
try
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + fileName + ".xlsb");
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel.sheet.binary.macroEnabled.12";
StringWriter sw = new StringWriter();
HtmlTextWriter tw = new HtmlTextWriter(sw);
ctrl.RenderControl(tw);
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
}
catch (Exception ex)
{
throw;
}
}
答案 0 :(得分:-1)
将HTML转储到文件中并将其称为Excel可以正常工作 - 看起来你已经达到了极限。
循环实际的行并使用库来编写正确的Excel文件,这样你就可以了。