ASP.NET(vb.net) & Word (Word Application) - Word Document Sample Report - This article example scripts you will learn how to Create Word Document sample report using ASP.NET Scripts
ShotDev Focus:
- ASP.NET(vb.net) & Word (Word Application) - Word Document Sample Report
Example
AspNetWordReport.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="AspNetWordReport.aspx.vb" Inherits="AspNetWordReport" %> <html> <head runat="server"> <title>ShotDev.Com Tutorial</title> </head> <body> <form id="form1" runat="server"> <asp:Label ID="lblText" runat="server"></asp:Label> </form> </body> </html>
AspNetWordReport.aspx.vb
Imports Microsoft.Office.Interop.Word Imports System.Data Imports System.Data.OleDb Public Class AspNetWordReport Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Const wdAlignParagraphCenter = 1 Const wdAlignParagraphRight = 2 Dim Wrd As New Microsoft.Office.Interop.Word.Application Dim WrdDoc As Microsoft.Office.Interop.Word.Document Dim MyRange1, MyRange2, MyRange3 As Microsoft.Office.Interop.Word.Range Dim objTable As Microsoft.Office.Interop.Word.Table Dim DocName As String = "MyDoc/MyWord.doc" Dim intRows As Integer Wrd.Application.Visible = False WrdDoc = Wrd.Documents.Open(Server.MapPath("shotdev.dot")) 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 '*** DataTable ***' Dim objConn As OleDbConnection Dim objCmd As OleDbCommand Dim dtAdapter As OleDbDataAdapter Dim dt As New DataTable Dim strConnString As String strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database/mydatabase.mdb") & ";Jet OLEDB:Database Password=;" objConn = New OleDbConnection(strConnString) objConn.Open() Dim strSQL As String strSQL = "SELECT * FROM customer" dtAdapter = New OleDbDataAdapter(strSQL, objConn) dtAdapter.Fill(dt) dtAdapter = Nothing objConn.Close() objConn = Nothing '*** (End) DataTable ***' MyRange2 = WrdDoc.Paragraphs.Add.Range With MyRange2 .Font.Size = "10" End With objTable = Wrd.ActiveDocument.Tables.Add(MyRange2, dt.Rows.Count, 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 dt.Rows.Count - 1 objTable.Cell(intRows + 2, 1).Range.InsertAfter(dt.Rows(intRows)("CustomerID")) objTable.Cell(intRows + 2, 1).Range.ParagraphFormat.Alignment = 1 objTable.Cell(intRows + 2, 2).Range.InsertAfter(dt.Rows(intRows)("Name")) objTable.Cell(intRows + 2, 2).Range.ParagraphFormat.Alignment = 0 objTable.Cell(intRows + 2, 3).Range.InsertAfter(dt.Rows(intRows)("Email")) objTable.Cell(intRows + 2, 3).Range.ParagraphFormat.Alignment = 0 objTable.Cell(intRows + 2, 4).Range.InsertAfter(dt.Rows(intRows)("CountryCode")) objTable.Cell(intRows + 2, 4).Range.ParagraphFormat.Alignment = 1 objTable.Cell(intRows + 2, 5).Range.InsertAfter(FormatNumber(dt.Rows(intRows)("Budget"), 2)) objTable.Cell(intRows + 2, 5).Range.ParagraphFormat.Alignment = 2 objTable.Cell(intRows + 2, 6).Range.InsertAfter(FormatNumber(dt.Rows(intRows)("Used"), 2)) objTable.Cell(intRows + 2, 6).Range.ParagraphFormat.Alignment = 2 Next 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() Wrd = Nothing End Sub End Class
Screenshot