关于asp动态生成word文档并下载

看过网上很多创建word文件的办法,大都会要求客户段浏览器设置安全性,有很大的局限性。
经过本人摸索,找到一条目前本人认为最简易的办法,不敢独享,请朋友们点评。



1 利用word生成相应的word文件,如固定格式的表格等,然后用“另存为”功能存成htm格式。

2 使用记事本等打开,可看见html源码。

3 将代码开始处的以下内容:
          <html xmlns:o="urn:schemas-microsoft-com:office:office"
          xmlns:w="urn:schemas-microsoft-com:office:word"
          xmlns="http://www.w3.org/TR/REC-html40";>
          <head>
          <meta http-equiv=Content-Type content="text/html; charset=gb2312">
          <meta name=ProgId content=Word.Document>
          <meta name=Generator content="Microsoft Word 11">
          <meta name=Originator content="Microsoft Word 11">

改为基本html代码:

          <html>
          <head>
          <meta http-equiv=Content-Type content="text/html; charset=gb2312">

4 在页面最开始处添加以下语句:
          <% Response.ContentType = "application/msword"
              response.AddHeader "content-disposition", "inline; filename=测试.doc"

          ' 此处可添加变量处理等语句,如打开数据库获取记录集等。
          '
          %>

5 在html代码中找到表格中相应位置填入asp变量或数据库字段值。如以下代码代表一个单元格:
          <td width=114 valign=top style='width:85.2pt;border:solid windowtext 1.0pt;
            border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
            solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
            <p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
            </td>
可修改为:
            <td width=114 valign=top style='width:85.2pt;border:solid windowtext 1.0pt;
            border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
            solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
            <p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p> <%=trim(.fields("奖金").value)%>
          </td>

注意<%...%>中的内容即是要输出的变量或字段值,(废话,ASP人都知道)

6 保存,扩展名由htm改为asp即可。


运行看看,浏览器自动弹出下载对话框,文件名为“测试.doc”,也可直接打开!

此法最大的优点在于多么复杂的word格式表格也能轻松搞定。

缺点是html代码稍有点复杂,表格位置不好找。其实在做word文件时在单元格里输入特殊字符,然后在htm代码中查找该字符就可轻松定位。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值