【问题标题】:MVC and Export to ExcelMVC 和导出到 Excel
【发布时间】:2012-07-14 22:41:57
【问题描述】:

说明:

我在 MVC 中尝试了以下代码并收到“使用自定义 TextWriter 时,OutputStream 不可用。”。我遵循了 URL http://blog.maartenballiauw.be/post/2008/05/ASPNET-MVC-custom-ActionResult.aspx 中给出的解决方案。但是我的问题没有解决。

请帮我解决这个问题..

代码:

string json = e.ExtraParams["GridData"].ToString();
StoreSubmitDataEventArgs eSubmit = new StoreSubmitDataEventArgs(json, null);
XmlNode xml = eSubmit.Xml;       

this.Response.Clear();
this.Response.ContentType = "application/vnd.ms-excel";
this.Response.AddHeader("Content-Disposition", "attachment;     
filename=submittedData.xls");
XslCompiledTransform xtExcel = new XslCompiledTransform();       
xtExcel.Load(Server.MapPath("Excel/XSLStyleSheet/Example2.xsl"));
xtExcel.Transform(xml, null, this.Response.OutputStream);
this.Response.End();

错误:

“/”应用程序中的服务器错误。

使用自定义 TextWriter 时,OutputStream 不可用。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Web.HttpException:使用自定义 TextWriter 时,OutputStream 不可用。

来源错误:

第 85 行:XslCompiledTransform xtExcel = new XslCompiledTransform();
第 86 行:xtExcel.Load(Server.MapPath("Excel/XSLStyleSheet/Example2.xsl"));
第 87 行:xtExcel.Transform(xml, null, this.Response.OutputStream); 第 88 行:this.Response.End();
第 89 行:}

【问题讨论】:

  • 这个错误与 MVC 本身无关。阅读异常说明 - 您不能将 OutputStream 与自定义 TextWriter 一起使用。
  • @Sam 感谢您的编辑。
  • @Chris 是这方面的初学者。告诉我如何解决这个问题或帮助我如何将内容导出到 MVC 中的 excel 文件。

标签: c# asp.net-mvc excel


【解决方案1】:

@Khalid 的建议很好。如果您真的想写入 Excel XML,我在使用 ClosedXML library 时取得了不错的效果。

【讨论】:

    【解决方案2】:

    这听起来像是一个简单的解决方案,但为什么不直接将您的数据输出为 CSV 格式。 Excel 打开 CSV 电子表格没有问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多