将数据表转换为PDF

时间:2012-12-18 06:42:56

标签: c# asp.net

我是否可以获得在Asp.net Web应用程序中将datatable转换为pdf的代码。我希望能够将datatable导出到PDF。我找到了this文章,但它正在使用gridview进行导出

2 个答案:

答案 0 :(得分:26)

使用iTextSharp,你可以做到。它可以从互联网上下载,它是免费的。 请找到下面的代码,

   public void ExportToPdf(DataTable dt)
   {      
    Document document = new Document();
    PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("c://sample.pdf", 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[] { 4f, 4f, 4f, 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)
        {
            table.AddCell(new Phrase(r[0].ToString(), font5));
            table.AddCell(new Phrase(r[1].ToString(), font5));
            table.AddCell(new Phrase(r[2].ToString(), font5));
            table.AddCell(new Phrase(r[3].ToString(), font5));
        }          
    }  document.Add(table);
        document.Close();
}

答案 1 :(得分:5)

您无法“转换DataTable到PDF文档。但您可以插入数据作为普通内容。

这必须通过数据控件来完成,例如GridViewListView;就像在普通的网页上一样。这就是你所链接的article的原因。 GridView可能是最接近且最简单的方法,使其在审美上与DataTable相同。因为它只是作为普通表存储在PDF文档中。

请注意,GridView是在内存中创建的 - 您不需要在HTML页面中创建或需要一个{{1}}。尝试并尝试使用代码来更好地理解这一点。

所以我建议关注article