ASP MS-word

   
 


 

 

Home

Board-Forum-Diary

Administrator

ASP

=> ASP?

=> ASP : Connection Object

=> Connect DB access

=> Connect DB Ms Sql Server 7.0

=> ASP and SQL

=> ASP Mysql (ODBC)

=> ASP export Excel

=> ASP export Graph

=> ASP MS-word

=> ASP read data EXCEL

=> ASP read data EXCEL2

Business Manage

Computer Basic

Computer Hardware

Computer Software

Computer Tip

Computer Virus

Contact

Database

Firefox

Gallery

Game

HI5 ME!

Link

Project Demo

System Analysis

Website

Food & Drink

SkyDrive

MS-word

MS-excel

Mobile

Drug

Clock

Car & Motorcycle

Download

 


     
 

ASP กับ Microsoft Word
สำหรับการส่งข้อมูลออกในรูปแบบของ Microsoft Word สามารถทำได้ 2 วิธีครับ เหมือนกับ Microsoft Excel

1.การส่ง Header ให้เป็นในรูปแบบของ Microsoft Word ซึ่งจะต้อง ใช้ความสามารถของเครื่อง
ฝั่ง Client ในการเปิด Ms Word
2.การสร้างไฟล์ Word โดยอาศัย COM ของฝั่ง Server ซึ่งฝั่ง Server จะต้องทำการติดตั้ง Word.Application
โดยจะต้องทำการติดตั้ง Microsoft Office


มาดูตัวอย่างกันหน่อยนะครับ


วิธีที่ 1
การส่ง Header ให้เป็นในรูปแบบของ Microsoft Word ซึ่งจะต้อง ใช้ความสามารถของเครื่องฝั่ง Client ในการเปิด Ms Word

Sample1.asp

<%
Response.Buffer = True
Response.ContentType = "application/vnd.ms-word"
Response.AddHeader "content-disposition", "inline; filename = ASP_Word_Doc.doc"
%>
<table width="30%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>

 

วิธีที่ 2
การสร้างไฟล์ Word โดยอาศัย COM ของฝั่ง Server ซึ่งฝั่ง Server จะต้องทำการติดตั้ง Word.Application
โดยจะต้องทำการติดตั้ง Microsoft Office

Sample2.asp

<%
Set objWordApp = Server.CreateObject("Word.Application")

objWordApp.Documents.Add

objWordApp.Selection.TypeText "This is a plain text that you'll see in word."

objWordApp.ActiveDocument.SaveAs Server.MapPath("MyDocument.doc")
objWordApp.Quit

Set objWordApp = Nothing
%>

Sample3.asp



<%

Set objConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
strConn = strConn & Server.MapPath("Northwind.mdb")
strSQL ="SELECT Products.ProductName, Products.UnitPrice "
strSQL = strSQL & "FROM Products "
strSQL = strSQL & "WHERE Products.UnitPrice <= 15 "
strSQL = strSQL & "ORDER BY Products.ProductName ASC"

objConn.Open strConn

objRS.Open strSQL, objConn

If Not objRS.EOF and Not objRS.BOF Then
arrData = objRS.GetRows()
End If

objRS.Close
objConn.Close
Set objRS = Nothing
Set objConn = Nothing

Const wdAlignParagraphCenter = 1
Const wdAlignParagraphLeft = 0
Const wdParagraph = 4
Const wdHorizontalPositionMargin = 0
Const wdTableLeft = -999998
Const wdCollapseEnd = 0


Set WdApp = Server.CreateObject("Word.Application")
WdApp.Application.Visible = False

Set objDocument = WdApp.Documents.Add(Server.MapPath("POView01.dot"))

Set objRange = objDocument.Range

With objRange
.ParagraphFormat.Alignment = wdAlignParagraphCenter
.Font.Size = 12
.Font.Name = "Arial"
.InsertAfter("Current Sales Report")
.MoveEnd(wdParagraph)
.Collapse(wdCollapseEnd)
End With

Set objTable = WdApp.ActiveDocument.Tables.Add (objRange, Ubound(arrData,2), 2,1,1)

For i = 0 To Ubound(arrData,2)
objTable.Cell(i,1).Range.InsertAfter(arrData(0,i))
objTable.Cell(i,2).Range.InsertAfter(arrData(1,i))
Next


objDocument.SaveAs Server.MapPath("Sales.doc")
objDocument.Close

WdApp.Application.Quit

%>

 
 

Total, there have been 124058 visitors (302269 hits) on this page!