2012-12-18 18 views
9

Asp.net Web uygulamasında datatable'ı pdf'ye dönüştürmek için bir kod alabilir miyim? datatable ürününü PDF ürününe dışa aktarma işlevine sahip olmak istiyorum. Ben this makale bulundu, ancakVeritabanını PDF'ye Dönüştür

+0

Yani sorun, gridview ile sorun. sayfanızda gridview göstermeniz gerekmez. pdf verileriniz için HTML tablo formatı yaratmanız yeterlidir. –

+0

Izgara görünümü göstermiyorum sayfa –

+1

Ayrıca verilerinizin gridview'de görüntülenmeyeceğini de söylüyorum. pdf oluşturmak için sadece html görünümünden elde edilir. Ya iTextSharp ile devam edebilirsiniz, ancak bunu yapmak için çok çaba sarfetmeniz gerekir. –

cevap

25

dışa aktarmak için gridview kullanıyor iTextSharp kullanarak, bunu yapabilirsiniz.İnternetten indirilebilir ve ücretsizdir. , aşağıdaki kodu bulabilirsiniz,

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(); 
} 
+0

hakkında daha önce bahsedildiği gibi. Teşekkürler. – Sagotharan

+0

datatable bir hata atıyor. –

5

Sen bir DataTable için bir PDF belgesi " dönüştürmek" olabilir. Ancak, verilerini normal içerik olarak ekleyebilirsiniz. Bu, GridView ya da ListView gibi bir veri kontrolüyle yapılmalıdır; sadece normal bir web sayfasında olduğu gibi. Bağlantınız olan article'un nedeni budur. GridView, estetik olarak DataTable ile aynı görünmesini sağlamak için en yakın ve en kolay yoldur. PDF belgesinde normal bir tablo olarak saklanacağı için.

GridView bellekte oluşturulduğunu unutmayın - HTML sayfanızda bir tane oluşturmanıza veya bu sayfaya sahip olmanıza gerek yoktur. Bunu daha iyi anlamak için kodu deneyin ve deneyin.

article'u izlemenizi öneririm.

+0

+1 tipi veri tabanına sahip herhangi bir çakışma var –