ASP.NET(vb.net) & Export/Report Database to Pdf - This article explains and example how to create PDF documents Export data from Database.
ShotDev Focus:
- ASP.NET(vb.net) & Export/Report Database to Pdf
Example
AspNetPDFReport.aspx
<%@ Import Namespace="PdfSharp"%> <%@ Import Namespace="PdfSharp.Drawing"%> <%@ Import Namespace="PdfSharp.Pdf"%> <%@ Import Namespace="PdfSharp.Pdf.IO"%> <%@ Import Namespace="System.Data"%> <%@ Import Namespace="System.Data.OleDb"%> <%@ Page Language="VB" %> <script runat="server"> Sub Page_Load(sender As Object, e As EventArgs) ' Create a new PDF document Dim DocPDF As PdfDocument = New PdfDocument ' Create an empty page Dim objPage As PdfPage = DocPDF.AddPage ' Get an XGraphics object for drawing Dim gfx As XGraphics = XGraphics.FromPdfPage(objPage) ' Create a font Dim font1 As XFont = New XFont("Verdana", 15, XFontStyle.Bold) Dim font2 As XFont = New XFont("Tahoma", 8, XFontStyle.Bold) Dim font3 As XFont = New XFont("Tahoma", 8, 0) ' Draw the text gfx.DrawString("My Customer", font1, XBrushes.Black, _ New XRect(0, 50, objPage.Width.Point, objPage.Height.Point), XStringFormats.TopCenter) ' Draw the text gfx.DrawString("CustomerID", font2, XBrushes.Black, 65, 80, XStringFormats.TopLeft) gfx.DrawString("Name", font2, XBrushes.Black, 140, 80, XStringFormats.TopLeft) gfx.DrawString("Email", font2, XBrushes.Black, 215, 80, XStringFormats.TopLeft) gfx.DrawString("CountryCode", font2, XBrushes.Black, 365, 80, XStringFormats.TopLeft) gfx.DrawString("Budget", font2, XBrushes.Black, 425, 80, XStringFormats.TopLeft) gfx.DrawString("Used", font2, XBrushes.Black, 485, 80, XStringFormats.TopLeft) ' Line Dim pen As XPen = New XPen(XColor.FromArgb(0, 0, 0)) gfx.DrawLine(pen, New XPoint(65, 78), New XPoint(520, 78)) gfx.DrawLine(pen, New XPoint(65, 90), New XPoint(520, 90)) ' Customer From Database (Start) Dim objConn As New OleDbConnection Dim objCmd As New OleDbCommand Dim dtAdapter As New OleDbDataAdapter Dim ds As New DataSet Dim dt As DataTable Dim strConnString,strSQL As String strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("database/mydatabase.mdb")&";Jet OLEDB:Database Password=;" strSQL = "SELECT * FROM customer" objConn.ConnectionString = strConnString With objCmd .Connection = objConn .CommandText = strSQL .CommandType = CommandType.Text End With dtAdapter.SelectCommand = objCmd dtAdapter.Fill(ds) dt = ds.Tables(0) dtAdapter = Nothing objConn.Close() objConn = Nothing Dim intLine As Integer = 90 Dim i As Integer For i = 0 To dt.Rows.Count - 1 gfx.DrawString(dt.Rows(i)("CustomerID"), font3, XBrushes.Black, 65, intLine, XStringFormats.TopLeft) gfx.DrawString(dt.Rows(i)("Name"), font3, XBrushes.Black, 140, intLine, XStringFormats.TopLeft) gfx.DrawString(dt.Rows(i)("Email"), font3, XBrushes.Black, 215, intLine, XStringFormats.TopLeft) gfx.DrawString(dt.Rows(i)("CountryCode"), font3, XBrushes.Black, 365, intLine, XStringFormats.TopLeft) gfx.DrawString(dt.Rows(i)("Budget"), font3, XBrushes.Black, 425, intLine, XStringFormats.TopLeft) gfx.DrawString(dt.Rows(i)("Used"), font3, XBrushes.Black, 485, intLine, XStringFormats.TopLeft) intLine = intLine + 10 Next ' Customer From Database (End) ' Save the document... Dim FileName As String = "MyPDF/PdfDoc.pdf" DocPDF.Save(Server.MapPath(FileName)) DocPDF.Close() DocPDF = Nothing Me.lblText.Text = "PDF Created <a href=" & FileName & ">click here</a> to view" End Sub </script> <html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <form id="form1" runat="server"> <asp:Label id="lblText" runat="server"></asp:Label> </form> </body> </html>
Screenshot