首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Repeater导出到excel

将Repeater导出到excel
EN

Stack Overflow用户
提问于 2010-01-12 15:24:44
回答 2查看 2.8K关注 0票数 0

我正在尝试导出我的转发器到excel,这是我的代码…

代码语言:javascript
复制
    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);
    string attachment = "attachment; filename=file.xls";
    Response.ClearContent();
    Response.AddHeader("content-disposition", attachment);
    Response.ContentType = "application/vnd.ms-excel";
    rpt.RenderControl(htw);
    Response.Write(sw.ToString());
    Response.Flush();
    Response.End();

当我尝试打开文件时遇到此错误

代码语言:javascript
复制
The file you are trying to open, 'file.xls', is in a different format than specified 
by   the file extension. Verify that the file is not Corrupted and is from a trusted 
source   before opening the file. Do you want to open the file now?
Yes   No Help option are available

我的代码中有什么错误,或者我必须做些什么来解决这个问题。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-12 15:29:56

您正在将内容类型设置为application/vnd.ms-excel,但是当您调用RenderContents方法时,您将在响应流中发送HTML内容。您可能需要一个库来生成Excel文件。

票数 2
EN

Stack Overflow用户

发布于 2010-01-12 15:55:06

尝试将您的内容包装到以下内容中:

代码语言:javascript
复制
StringBuilder sb = new StringBuilder("");
sb.Append("<HTML xmlns:x=\"urn:schemas-microsoft-com:office:excel\"><HEAD>");
sb.Append("<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");
sb.Append("<!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>");
sb.Append(title);
sb.Append("</x:Name><x:WorksheetOptions><x:Print><x:ValidPrinterInfo/></x:Print></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--> </HEAD><BODY>");
sb.Append(content);
sb.Append("</BODY></HTML>");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2047361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档