一个将表格导出为EXCEL文件的问题(为何总出现的源码)

sztj 2005-12-26 04:31:34
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.Buffer = True
HttpContext.Current.Response.Charset = "GB2312"
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename= " & DateTime.Now.ToShortDateString & ".xls")
HttpContext.Current.Response.ContentType = "application/ms-excel"
Dim myCitrad As New System.Globalization.CultureInfo("ZH-CN", True)
Dim oStringWriter As New System.IO.StringWriter(myCitrad)
Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter)
Me.rptList.RenderControl(oHtmlTextWriter)
HttpContext.Current.Response.Write(oStringWriter.ToString())
HttpContext.Current.Response.End()
oStringWriter.Close()
oHtmlTextWriter.Close()

执行以上代码后,可以生成excel文件,但是打开excel文件,里面却都是html源码,在哪里出错,如何解决?
...全文
135 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
从不签到 2005-12-29
  • 打赏
  • 举报
回复
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Clear();
Response.Buffer=true;
Response.ContentType ="application/vnd.ms-excel";//设置输出文件类型为excel文件。
Response.Charset= "";
this.EnableViewState=false;
System.IO.StringWriter oStringWriter=new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter=new System.Web.UI.HtmlTextWriter(oStringWriter);
DataGrid1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
长江支流 2005-12-27
  • 打赏
  • 举报
回复
对比一下

Response.Clear();
Response.Buffer=true;
Response.Charset="utf-8";

Response.AppendHeader("Content-Disposition","attachment;filename="+System.Guid.NewGuid()+".xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");

Response.ContentType="application/ms-excel";
this.EnableViewState=false;

// 定义一个输入流
System.IO.StringWriter oStringWriter=new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter=new System.Web.UI.HtmlTextWriter(oStringWriter);

//将目标数据绑定到输入流输出
this.DataGrid1.RenderControl(oHtmlTextWriter);

//this 表示本页,也可以绑定到datagrid,或其他obj.RenderControl()属性的控件
Response.Write(oStringWriter.ToString());
Response.End();

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧