How to use ASP & Word (Word.Application) - Word Document Sample Report This is learn/tutorial asp developers how to using ASP script Export/Report to word document
ShotDev Focus:
- ASP & Export/Report to word document
Example
asp_word_report.asp
- <% Option Explicit %>
- <html>
- <head>
- <title>ShotDev.Com Tutorial</title>
- </head>
- <body>
- <%
- Const wdAlignParagraphCenter = 1
- Const wdAlignParagraphRight = 2
- Dim Wrd,WrdDoc,DocName,objTable
- Dim Conn,strSQL,objRec,arrCus,intRows
- Dim MyRange1,MyRange2,MyRange3
- Set Wrd = CreateObject("Word.Application")
- DocName = "MyDoc/MyWord.doc"
- Wrd.Application.Visible = False
- Set WrdDoc = Wrd.Documents.Open(Server.MapPath("shotdev.dot"))
- Set MyRange1 = WrdDoc.Paragraphs.Add.Range
- With MyRange1
- .ParagraphFormat.Alignment = wdAlignParagraphCenter
- .Font.Name = "Verdana"
- .Font.Size = "20"
- .Font.Bold = True
- .InsertBefore("Customer Report"&vbCrLf)
- End With
- Set Conn = Server.Createobject("ADODB.Connection")
- Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("MyDoc/mydatabase.mdb"),"" , ""
- strSQL = "SELECT * FROM customer "
- Set objRec = Server.CreateObject("ADODB.Recordset")
- objRec.Open strSQL, Conn, 1,3
- If Not objRec.EOF and Not objRec.BOF Then
- arrCus = objRec.GetRows()
- End If
- Set MyRange2 = WrdDoc.Paragraphs.Add.Range
- With MyRange2
- .Font.Size = "10"
- End With
- Set objTable = Wrd.ActiveDocument.Tables.Add(MyRange2,Ubound(arrCus),6,1,2) '** Range,Rows,Column **'
- '*** Header ***'
- objTable.Cell(1,1).Range.InsertAfter("CustomerID")
- objTable.Cell(1,1).Range.Bold = True
- objTable.Cell(1,1).Range.ParagraphFormat.Alignment = 1
- objTable.Cell(1,2).Range.InsertAfter("Name")
- objTable.Cell(1,2).Range.Bold = True
- objTable.Cell(1,2).Range.ParagraphFormat.Alignment = 1
- objTable.Cell(1,3).Range.InsertAfter("Email")
- objTable.Cell(1,3).Range.Bold = True
- objTable.Cell(1,3).Range.ParagraphFormat.Alignment = 1
- objTable.Cell(1,4).Range.InsertAfter("CountryCode")
- objTable.Cell(1,4).Range.Bold = True
- objTable.Cell(1,4).Range.ParagraphFormat.Alignment = 1
- objTable.Cell(1,5).Range.InsertAfter("Budget")
- objTable.Cell(1,5).Range.Bold = True
- objTable.Cell(1,5).Range.ParagraphFormat.Alignment = 1
- objTable.Cell(1,6).Range.InsertAfter("Used")
- objTable.Cell(1,6).Range.Bold = True
- objTable.Cell(1,6).Range.ParagraphFormat.Alignment = 1
- '*** Detail ***
- For intRows = 0 To Ubound(arrCus,2)
- objTable.Cell(intRows+2,1).Range.InsertAfter(arrCus(0,intRows))
- objTable.Cell(intRows+2,1).Range.ParagraphFormat.Alignment = 1
- objTable.Cell(intRows+2,2).Range.InsertAfter(arrCus(1,intRows))
- objTable.Cell(intRows+2,2).Range.ParagraphFormat.Alignment = 0
- objTable.Cell(intRows+2,3).Range.InsertAfter(arrCus(2,intRows))
- objTable.Cell(intRows+2,3).Range.ParagraphFormat.Alignment = 0
- objTable.Cell(intRows+2,4).Range.InsertAfter(arrCus(3,intRows))
- objTable.Cell(intRows+2,4).Range.ParagraphFormat.Alignment = 1
- objTable.Cell(intRows+2,5).Range.InsertAfter(FormatNumber(arrCus(4,intRows),2))
- objTable.Cell(intRows+2,5).Range.ParagraphFormat.Alignment = 2
- objTable.Cell(intRows+2,6).Range.InsertAfter(FormatNumber(arrCus(5,intRows),2))
- objTable.Cell(intRows+2,6).Range.ParagraphFormat.Alignment = 2
- Next
- Set MyRange3 = WrdDoc.Paragraphs.Add.Range
- With MyRange3
- .ParagraphFormat.Alignment = wdAlignParagraphRight
- .Font.Name = "Verdana"
- .Font.Size = "10"
- .InsertBefore(vbCrLf&vbCrLf&vbCrLf&"............................Manager"&vbCrLf&Now())
- End With
- WrdDoc.SaveAs(Server.MapPath(DocName))
- Wrd.Application.Quit
- Set Wrd = Nothing
- %>
- Word Created <a href="<%=DocName%>">Click here</a> to Download.
- </body>
- </html>
Create a asp file and save to path root-path/myasp/
Run
http://localhost/asp_word_report.asp
Screenshot