将GridView或其他页面元素导出到Word
2007-12-04 14:18
337 查看
常常有用户提出将页面导入到Word,供他们对格式和文字做修改。在ASP时代,需要开发人员使用VBA,但是现在,可以使用一种更简的方法了。
首先,使用<div runat = "server" id = "divPrint"><div>这样的容器将需要导入到Word中的内容包起来。然后,在页面中添加一个打印按钮,并在其事件处理函数中添加如下事件:
protected void btWord_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "utf-8";
//下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开
//filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc .xls .txt .htm
Response.AppendHeader("Content-Disposition", "attachment;filename=Reports.doc");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
//Response.ContentType指定文件类型 可以为application/ms-excel application/ms-word application/ms-txt application/ms-html 或其他浏览器可直接支持文档
Response.ContentType = "application/ms-word";
this.EnableViewState = false;
}
此外,还要在页面中添加这样一个函数:
public override void VerifyRenderingInServerForm(Control control)
.{
// Confirms that an HtmlForm control is rendered for
}
还要将页面的“EnableEventValidation”属性设置为"false",这样一来,点击导入到Word按扭后,就可以将div中的数据呈现于Word中了。
这种方法除了可以导入到Word以外,还支持Excel、txt 等等。
有些时候,用户还要求我将数据导入到Word中后,与数据库拖离开,即显示的数据仅仅是一个纯HTML页面。因此,可以在Button事件函数中再加入如下代码,将数据写入一个HTML文件,并存放于某个目录中。
string fileName = Request.Form["ddlDate"] + ".htm";
Response.WriteFile(Server.MapPath("~/ProjectHome/Upload/" + fileName));
Response.End();
这种方法的一个弊端是在页面load之前,必须保证所有的数据都以得到,不然将无法导入成功。即
<%= ds.Tables[0].Rows[0]["ID"].ToString()%>
必须写成如下形式才行:
<%# ds.Tables[0].Rows[0]["ID"].ToString()%>
首先,使用<div runat = "server" id = "divPrint"><div>这样的容器将需要导入到Word中的内容包起来。然后,在页面中添加一个打印按钮,并在其事件处理函数中添加如下事件:
protected void btWord_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "utf-8";
//下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开
//filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc .xls .txt .htm
Response.AppendHeader("Content-Disposition", "attachment;filename=Reports.doc");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
//Response.ContentType指定文件类型 可以为application/ms-excel application/ms-word application/ms-txt application/ms-html 或其他浏览器可直接支持文档
Response.ContentType = "application/ms-word";
this.EnableViewState = false;
}
此外,还要在页面中添加这样一个函数:
public override void VerifyRenderingInServerForm(Control control)
.{
// Confirms that an HtmlForm control is rendered for
}
还要将页面的“EnableEventValidation”属性设置为"false",这样一来,点击导入到Word按扭后,就可以将div中的数据呈现于Word中了。
这种方法除了可以导入到Word以外,还支持Excel、txt 等等。
有些时候,用户还要求我将数据导入到Word中后,与数据库拖离开,即显示的数据仅仅是一个纯HTML页面。因此,可以在Button事件函数中再加入如下代码,将数据写入一个HTML文件,并存放于某个目录中。
string fileName = Request.Form["ddlDate"] + ".htm";
Response.WriteFile(Server.MapPath("~/ProjectHome/Upload/" + fileName));
Response.End();
这种方法的一个弊端是在页面load之前,必须保证所有的数据都以得到,不然将无法导入成功。即
<%= ds.Tables[0].Rows[0]["ID"].ToString()%>
必须写成如下形式才行:
<%# ds.Tables[0].Rows[0]["ID"].ToString()%>
相关文章推荐
- ASP.NET 2.0,C#----利用GridView控件导出其他文件(导出Excel,导出Word文件)
- ASP.NET 2.0,C#----利用GridView控件导出其他文件(导出Excel,导出Word文件)
- ASP.NET 2.0,C#----利用GridView控件导出其他文件(导出Excel,导出Word文件)
- ASP.NET 2.0,C#----利用GridView控件导出其他文件(导出Excel,导出Word文件)
- ASP.NET 2.0,C#----利用GridView控件导出其他文件(导出Excel,导出Word文件)
- 利用GridView控件导出其他文件(导出Excel,导出Word文件)
- ASP.NET 2.0,C#----利用GridView控件导出其他文件(导出Excel,导出Word文件)
- ASP.NET-GridView之导出excel或word
- java使用poi将html导出word,默认打开页面视图
- GridView数据导出到Excel、Word
- 使用GridView控件导出数据源的数据为Excel、Word或Text
- 带分页功能的GridView导出Excel或Word的方法
- jsp jquery 在页面中 导出EXCEL和WORD
- 手把手教你如何扩展GridView之自带Excel和Word导出
- GridView数据导出到Word/Excel中
- JS-JQ实现页面滚动时元素智能定位(顶部-其他部位)
- jQuery如何实现点击页面获得当前点击元素的id或其他信息
- page页面的部分div内容导出word(收藏)
- GridView导出到Excel或Word文件
- DataTable、GridView、DataList导出至Word或Excel