asp生成word

来源:互联网 发布:java 打印所有header 编辑:程序博客网 时间:2024/06/07 01:49
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>


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


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

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

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