ผมไปหาเจอแล้ว อยากให้เพื่อน ๆ ที่ยังไม่รู้ดูเป็นตัวอย่างนะครับ
ASP to MSWord
Microsoft Word 97 (and better) can interpret html. In order to open MSWord on the client and direct html output to Word rather than standard browser output you must change the content type. Response.ContentType = "application/vnd.ms-word" will open Word inside of the browser and html will appear inside a new word document. The Word document generated can changes and modified just like any other Word document. The following example utilizes our db of Mark ?The Bird? Fidrych?s career statistics and will output a basic html table inside of Word.
?View the Output
?Text View
?Print View
?Mail this Link
?Download the Code
? View the Data
<%
' Waits until all the asp is done before dumping the text to the browser
response.buffer = true
dim accessdb, cn, rs, sql
' Name of the Accessdb being read
accessdb="fidrych"
' Connect to the db with a DSN-less connection
cn="DRIVER={Microsoft Access Driver (*.mdb)};"
cn=cn & "DBQ=" & server.mappath(accessdb)
' Create a server recordset object
Set rs = Server.CreateObject("ADODB.Recordset")
' Select all data from the table the_bird
sql = "select * from the_bird "
' Execute the sql
rs.Open sql, cn
%>
<%
' Tells the browser to open word
Response.ContentType = "application/vnd.ms-word"
' Adds a header to give the document a name
response.AddHeader "content-disposition", "inline; filename=dynamicbb.doc"
%>
<html>
<body>
<table BORDER="1" align="center">
<tr>
<td>Year</td>
<td>Team</td>
<td>W</td>
<td>L</td>
<td>G</td>
<td>GS</td>
<td>CG</td>
<td>IP</td>
<td>H</td>
<td>BB</td>
<td>SO</td>
<td>ShO</td>
<td>ERA</td>
</tr>
<%
' Move to the first record
rs.movefirst
' Start a loop that will end with the last record
do while not rs.eof
%>
<tr>
<td>
<%= rs("year") %>
</td>
<td>
<%= rs("team") %>
</td>
<td>
<%= rs("w") %>
</td>
<td>
<%= rs("l") %>
</td>
<td>
<%= rs("g") %>
</td>
<td>
<%= rs("gs") %>
</td>
<td>
<%= rs("cg") %>
</td>
<td>
<%= rs("ip") %>
</td>
<td>
<%= rs("h") %>
</td>
<td>
<%= rs("bb") %>
</td>
<td>
<%= rs("so") %>
</td>
<td>
<%= rs("sho") %>
</td>
<td>
<%= rs("era") %>
</td>
</tr>
<%
' Move to the next record
rs.movenext
' Loop back to the do statement
loop %>
</table>
</html>
<%
' Close and set the recordset to nothing
rs.close
set rs=nothing
response.flush
response.end
%>
ประเภทของ Content Types
vnd.ms-excel - For Excel
vnd.ms-powerpoint - For PowerPoint
vnd.ms-project - For Microsoft Project
pdf - For Adobe Acrobat Documents
rtf - For Rick Text Documents
vnd.lotus-wordpro - For WordPro
vnd.lotus-1-2-3 - For Lotus 1-2-3
vnd.visio - For Visio
jpeg - for JPG Image File
gif - for GIF Image File
png - for PNG Image File
ลองทำดูมีปํญหาถามหน่อยครับจากตัวอย่างถ้านำโปรแกรมไปติดตั้งที่เครื่อง Server ถ้าเครื่อง Server ไม่ได้ลง MS office ก็จะเปิดโปรแกรมไม่ได้ครับ เวลาเครื่องลูกเปิด ทำไมมันไม่ไปหา MS word ที่เครื่องลูกครับ
ผมลองทำดูแบบ Excel แต่ติดปํญหาปริ้นไม่ได้ หรือว่าต้องเปิดหน้าใหม่(_Blank) Error code: The document in this Frame can not be printed as laid out. ต้องแก้ไขจุดไหนครับ
ขอบคุณครับ