在asp.net的web应用系统中导出申请表等文档

在asp.net的web应用系统中导出申请表等文档

在实际管理系统中,经常需要导出申请表,而这种申请表在系统投入使用之前就已经有。这是传统的doc文档。一般需求方都会提供这样的文档给开发团队,如何把信息导出成这样的一个标准的doc文档呢?

可以按以下的步骤走:

1. 用word打开doc文档,并另存为“筛选过的网页”,目的是得到对应这个申请表的html代码。

2. 用记事本打开这个html页面,并复制里边的代码。

3. 在系统中做一个这样的aspx页面,并把html的代码复制到里边。这时候,在Visual Studio设计视图中看到的就跟原来的doc文档基本一样。

4. 在相应要填数据的地方设置Label,并在后台代码文件的Page_load中把里边的数据初始化好。

5. 同样在Page_load中,在初始化代码的后边加入response的语句,把返回的信息流变为一个下载信息。

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/ms-word";//设置输出文件类型为word文件。

6. 这样一旦打开这个页面,就出现一个下载框,也就是填好数据的一个申请表。到此,基本导出工作就完成了。但是这个时候,页面会显示例如下边这样的不友好信息。

7. 要解决上述问题,可以改变导出的触发事件。简单说来就是在另外一个页面设置一个导出按钮,一点这个按钮就重定向到上边的页面。这样就只出现下载框而不会出现上边那个不友好信息了。

protected void Button1_Click(object sender, EventArgs e)

{

Response.Redirect("download.aspx");

}

8. 这样做有一个问题,就是保存的文件其实是一个html文件,不过后缀是doc而已。用offic2007打开后,修改保存的话,就会再文件旁边多一个文件夹,好像网页那样。如果用office2003就不会有这个情况。这个缺点,

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区