在很多场合我们需要将某个页面或具体内容导出为Word保存在本地硬盘上,今天Saturn就告诉大家如何通过ASP代码实现将页面的具体内容导出为Word文档。
原理:
当用户向服务器请求某个页面时,我们希望将这个页面中的HTML内容生成为一个Word文档,而不是在浏览器显示它。此时,我们需要通过ASP代码修改此页面的文档响应类型(即Content Type)。
将以下代码加入到你需要生成Word的页面最上面:
<%
Response.ContentType = "application/vnd.ms-word"
%>
简单示例一:固定内容的Word生成
以下代码实现:当你从浏览器中打开下面这个页面时,会发现浏览器中央弹出一个“Word文件下载”提示框提示你下载生成的Word;所有在此页面中出现的HTML内容都会被导入到Word中作为文档的内容。用户可以修改此Word文档名称,然后保存到本地硬盘上。
<%
'Word文档中写入的内容
response.write "欢迎光临代码吾爱,www.code52.net"
'除了红色标记部分,以下三行代码不要轻易修改
Response.Buffer = True
Response.ContentType = "application/vnd.ms-word"
'filename即为doc文件的默认初始文件名
Response.AddHeader "content-disposition", "inline; filename = ASP_Word_Doc.doc"
%>
简单示例二:动态内容的Word生成
此示例我们要实现:在一个页面中(test2.asp)制作一个表单,让用户填写即将生成的Word文档的内容,然后点击“生成Word文档”将表单提交到另一个页面(test2-submit.asp)生成Word。
首先,在test2.asp中制作一个简单的表单:
<form action="test2-submit.asp" method="post">
<label for="Content">请输入内容:</label><br /><br />
<textarea type="text" id="Content" name="Content" rows="13" cols="30"></textarea><br />
<input type="submit" value="生成Word文档" /><br /><br />
</form>
然后,提交以上表单到test-submit.asp,代码和注释如下:
<%
'代码吾爱Saturn编写
'版权没有,请随意使用
'更多ASP教程尽在代码吾爱(www.code52.net)
'获取test2.asp表单中Content的内容
Dim strContent:strContent=Trim(Request.Form("Content"))
'Word文档中写入的内容
response.write strContent'除了红色标记部分,以下三行代码勿修改
Response.Buffer = True
Response.ContentType = "application/vnd.ms-word"
'filename即为doc文件的默认初始文件名
Response.AddHeader "content-disposition", "inline; filename = Code52NET.doc"
%>
细心的朋友可能会发现,重要的是第二个页面。不管流程有多复杂,我们始终要抓住:在生成doc文档的那个页面,所有在此页面中出现的HTML内容都会被导入到Word中作为文档的内容。
转自: http://www.code52.net/web/ASP/asp20081030146.html