现在的位置: 首页 > 综合 > 正文

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

2012年10月07日 ⁄ 综合 ⁄ 共 1124字 ⁄ 字号 评论关闭
 

asp.netweb应用系统中导出申请表等文档

 

在实际管理系统中,经常需要导出申请表,而这种申请表在系统投入使用之前就已经有。这是传统的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就不会有这个情况。这个缺点,

抱歉!评论已关闭.