Can I get a code for converting datatable to pdf in Asp.net Web application. I want to have functionality to export datatable
into PDF
. I found this article but it is using gridview
for exporting
Using iTextSharp,you can do it.It can be download from internet and it is free. Please, find the code below,
public void ExportToPdf(DataTable dt,string strFilePath)
{
Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(strFilePath, FileMode.Create));
document.Open();
iTextSharp.text.Font font5 = iTextSharp.text.FontFactory.GetFont(FontFactory.HELVETICA, 5);
PdfPTable table = new PdfPTable(dt.Columns.Count);
PdfPRow row = null;
float[] widths = new float[dt.Columns.Count];
for (int i = 0; i < dt.Columns.Count; i++)
widths[i] = 4f;
table.SetWidths(widths);
table.WidthPercentage = 100;
int iCol = 0;
string colname = "";
PdfPCell cell = new PdfPCell(new Phrase("Products"));
cell.Colspan = dt.Columns.Count;
foreach (DataColumn c in dt.Columns)
{
table.AddCell(new Phrase(c.ColumnName, font5));
}
foreach (DataRow r in dt.Rows)
{
if (dt.Rows.Count > 0)
{
for (int h = 0; h < dt.Columns.Count; h++)
{
table.AddCell(new Phrase(r[h].ToString(), font5));
}
}
}
document.Add(table);
document.Close();
}
You can't "convert" a DataTable
to a PDF Document. But you can insert data into it as normal content.
This would have to be done through a data control, like the GridView
or ListView
; just like in a normal webpage. Which is why the article you have linked to does that. GridView
is probably the closest and easiest way to make it aesthetically appear the same as a DataTable
. As it will just be stored as a normal table in the PDF Document.
Note that the GridView
is created in memory - you don't create or need to have one in your HTML page. Try and experiment with the code to understand this better.
So I recommend following the article.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With