用ASP生成Word文檔(還有Excel和Txt文檔)

2010-08-28 10:52:45來源:西部e網作者:

網上很多用ASP生成(創(chuàng)建)Word文檔的方法都已經隨著Word和Excel的版本變更而失效了,在dotnetindex上看到了幾篇老外寫的文章,簡介而且好用,試驗了一下還確實不錯,放上來保存一下:

1、用ASP生成Word文檔

ASP has the ability to dynamically output any kind of office application format. Before to start coding, The first thing we need to do is set correct file type. Becase the browser needs to know what to do with the file. Second step is to edit file name. You can use HTML and CSS to create styles in your word document.

Here is a comple source code :

<%
Response.ContentType = "application/msword"
Response.AddHeader "Content-Disposition", "attachment;filename=NAME.doc"   
Response.Write("Weste.net : <a href=""http://weste.net"">歡迎您訪問西部e網!</a><br>" & vbnewline)
Response.Write("<h1>We can use HTML codes for word documents</h1>")
response.write "<table width=""100%"" border=""1"" >"
response.write "<tr>"
response.write "<th width=""40%""><b>Name</b></th>"
response.write "<th width=""30%""><b>Username</b></th>"
response.write "<th width=""30%""><b>Password</b></th>"
response.write "</tr>"
response.write "<tr>"
response.write "<td width=""40%"">Weste.net</td>"
response.write "<td width=""30%"">admin@weste.net</td>"
response.write "<td width=""30%"">mypassword</td>"
response.write "</tr>"
response.write "</table>"
%>
說明:用這種方式生成Word文檔的時候,出現(xiàn)過一個問題。就是有的時候會顯示Word的格式不對。當打開生成的文檔時,Word會提示:“Microsoft Office Word 需要轉換器以正確顯示該文件。這項功能目前尚未安裝,是否現(xiàn)在安裝?”,需要重新安裝SKU011.CAB文件才行。問題我沒搞明白,等過幾天我真正使用的時候再進行測試。
原文:http://www.dotnetindex.com/articles/3892_Creating_Word_Files_Online.asp

2、用ASP生成Excel文檔

ASP has the ability to dynamically output any kind of office application format. Before to start coding, The first thing we need to do is set correct file type. Becase the browser needs to know what to do with the file. Second step is to edit file name. You can use HTML and CSS to create styles in your word document.

<%
Response.AddHeader "Content-Disposition", "attachment;filename=members.xls"

Response.ContentType = "application/vnd.ms-excel"

response.write "<table width=""100%"" border=""1"" >"
response.write "<tr>"
response.write "<th width=""40%""><b>Name</b></th>"
response.write "<th width=""30%""><b>Username</b></th>"
response.write "<th width=""30%""><b>Password</b></th>"
response.write "</tr>"
response.write "<tr>"
response.write "<td width=""40%"">Weste.net</td>"
response.write "<td width=""30%"">admin@weste.net</td>"
response.write "<td width=""30%"">mypassword</td>"
response.write "</tr>"
response.write "</table>"
%>

原文:http://www.dotnetindex.com/articles/3893_Creating_Excel_Files_Online.asp

3、用ASP生成Txt文檔

In VBScript language there is no any function for Input/Output on hard disk. But you may use FileSystem Object to create and edit files on server. This is an indirect technics to create any file on server.

Here some examples for creating files on server :

<%
set objFso = server.createobject("scripting.filesystemobject")
set objFile = objFso.CreateTextFile("sample.txt", true)
objFile.write "An example creating a file"
objFile.close
set objFile = nothing
objFso = nothing
%>

In this example, server create everytime a new file on same file. If you do not want to create any file with same name, change file mode to false

<%
set objFso = server.createobject("scripting.filesystemobject")
set objFile = objFso.CreateTextFile("sample.txt", false)
objFile.write "An example creating a file"
objFile.close
set objFile = nothing
objFso = nothing
%>

You can not create file, because, you've already create same file.

原文:http://www.dotnetindex.com/articles/5539_Creating_Text_files_on_server.asp

關鍵詞:ASP