zoukankan      html  css  js  c++  java
  • 在asp.net的web应用系统中导出申请表等文档 拂晓风起

     

    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就不会有这个情况。这个缺点,

    kenkofox@qq.com https://github.com/kenkozheng 欢迎投简历给我,一线大厂工作机会
  • 相关阅读:
    数据库如何部署上线阅读总结
    Nginx解决防盗链,服务器宕机,跨域,防DDOS
    跨域和表单重复提交
    Socet
    Redis发布订阅
    MySQL和Oracle的区别
    Redis事务、持久化、发布订阅
    Redis主从复制和哨兵模式
    Idea中使用Redis的Java客户端和Jedis
    Redis介绍及命令
  • 原文地址:https://www.cnblogs.com/kenkofox/p/1547117.html
Copyright © 2011-2022 走看看