如何在ASP中把数据库读出的数据生成Word文档,并且可以下载。

在网站后台中有一些订单,如何把订单的详情动态生成WORD文档,并且可以下载?订单里有图片和一些说明。用的是ACCESS数据库... 在网站后台中有一些订单,如何把订单的详情动态生成WORD文档,并且可以下载
?订单里有图片和一些说明。
用的是ACCESS数据库
展开
 我来答
bj_heshang
2011-06-23 · TA获得超过152个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:86万
展开全部
网上找的答案,我试过了,可行。
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代码中查找该字符就可轻松定位。
更多追问追答
追问
哥们!这段代码你真的试过了??这段代码我都在网上看过了好几遍了。
追答
你自己会写asp代码吗
lzp4881
2011-06-23 · TA获得超过2394个赞
知道大有可为答主
回答量:2825
采纳率:0%
帮助的人:2996万
展开全部
<%
if request.querystring("action")="toWord" then
Response.ContentType="application/msword"
Response.AddHeader "content-disposition","attachment;filename=aaa.doc"
end if
%>

<html>
<body>
<table name="data" id="data" width="100%" height="25%" border="0" cellpadding="1" cellspacing="1">
<tr>
<td width="50%" align="center" bgcolor="#FFFFCC"> <strong>职务 </strong> </td>
<td width="50%" align="center" bgcolor="#FFFFCC"> <strong>职级 </strong> </td>
</tr>
</table>
<input type="button" name="out_word" onClick="location.href='?action=toWord'" value="导出到word">

</body>
</html>
追问
能不能说详细点
追答
你运行一下就知道了,很简单。就是
Response.ContentType="application/msword"
Response.AddHeader "content-disposition","attachment;filename=aaa.doc"
它可以把本来输出到屏幕的信息输出到word文档。所以你只要按照输出到屏幕的格式设计好样式,点击“导出就可以了”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式