基于用户的要求,须将页面一表格的内容导出到Word或者Excel中,
将表格导入到Word,,但是打印出来的时候没有表格,不知道为什么,有待研究。
string exportTitle = "";
string fileName = "";
if (string.IsNullOrEmpty(exportTitle))
{
exportTitle = "导出数据";
}
if (string.IsNullOrEmpty(fileName))
{
fileName = "ExportData.doc";
}
System.Web.HttpContext context = System.Web.HttpContext.Current;
context.Response.Clear();
context.Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
context.Response.ContentType = "application/vnd.doc";
context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
context.Response.Charset = "GB2312";
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
this.FormView1.RenderControl(htw);
context.Response.Write(exportTitle);
context.Response.Write(sw.ToString());
context.Response.End();
或者用如下代码:
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.doc");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/msword";
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.fvProjectAccept.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
用此代码需在页面代码重写如下方法,为什么这么做,有待研究,
public override void VerifyRenderingInServerForm(Control control)
{
// Confirms that an HtmlForm control is rendered for
}
同时对于有些页面,需要设置如下属性:
EnableEventValidation = "false"