I am getting following error message when exporting data as PDF and according to error message, following line is culprit: Line 45 in complete code list.
pdfTable.AddCell(cell.Value.ToString())
Here comes the full code:, what might I am doing wrong?
Imports System.IO Imports System.Data Imports System.Reflection Imports iTextSharp.text Imports iTextSharp.text.pdf Public Class Form1 Public Sub New() InitializeComponent() Me.BindDataGridView() End Sub Private Sub BindDataGridView() Dim dt As New DataTable() dt.Columns.AddRange(New DataColumn() ) dt.Rows.Add(1, "John Hammond", "United States") dt.Rows.Add(2, "Mudassar Khan", "India") dt.Rows.Add(3, "Suzanne Mathews", "France") dt.Rows.Add(4, "Robert Schidner", "Russia") Me.DataGridView1.DataSource = dt End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'Creating iTextSharp Table from the DataTable data Dim pdfTable As New PdfPTable(DataGridView1.ColumnCount) pdfTable.DefaultCell.Padding = 3 pdfTable.WidthPercentage = 30 pdfTable.HorizontalAlignment = Element.ALIGN_LEFT pdfTable.DefaultCell.BorderWidth = 1 'Adding Header row For Each column As DataGridViewColumn In DataGridView1.Columns Dim cell As New PdfPCell(New Phrase(column.HeaderText)) 'cell.BackgroundColor = New iTextSharp.text.(240, 240, 240) pdfTable.AddCell(cell) Next 'Adding DataRow For Each row As DataGridViewRow In DataGridView1.Rows For Each cell As DataGridViewCell In row.Cells pdfTable.AddCell(cell.Value.ToString()) Next Next 'Exporting to PDF Dim folderPath As String = "C:\PDFs\" If Not Directory.Exists(folderPath) Then Directory.CreateDirectory(folderPath) End If Using stream As New FileStream(folderPath & "DataGridViewExport.pdf", FileMode.Create) Dim pdfDoc As New Document(PageSize.A2, 10.0F, 10.0F, 10.0F, 0.0F) PdfWriter.GetInstance(pdfDoc, stream) pdfDoc.Open() pdfDoc.Add(pdfTable) pdfDoc.Close() stream.Close() End Using End Sub Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged End Sub End Class
An object-oriented programming language developed by Microsoft that is implemented on the .NET Framework. Previously known as Visual Basic .NET.