使用iTextsharp将选定的行数据导出到c#中的pdf

时间:2017-02-15 05:24:24

标签: c# export itext row selected

我有一个datagridview,我需要在C#中使用iTextSharp将选定的行导出为pdf。我可以将datagridview的标题导出为pdf。

我的问题:

  1. 我需要将整个标题添加到pdf
  2. 中的一列
  3. 我需要在相关的colomns面前显示选定的行数据。
  4. private void button1_Click(object sender, EventArgs e)
        {
            BaseFont bf = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1250, BaseFont.EMBEDDED);
    
            iTextSharp.text.Font text = new iTextSharp.text.Font(bf, 11, iTextSharp.text.Font.NORMAL);
    
            Document doc = new Document(PageSize.A2.Rotate(), 1, 1, 1, 1);
            PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream("Test.pdf", FileMode.Create));
            doc.Open();
    
    
            PdfPTable pdftable = new PdfPTable(dataGridView1.ColumnCount - 0);
    
            for (int j = 0; j < dataGridView1.Columns.Count - 0; j++)
            {
                PdfPCell cell = new PdfPCell(new Phrase(dataGridView1.Columns[j].HeaderText, text));
                cell.BackgroundColor = BaseColor.LIGHT_GRAY;
                pdftable.AddCell(cell);
            }
    
            pdftable.HeaderRows = 0;
            for (int i = 0; i < dataGridView1.SelectedRows.Count; i++)
            //for (int i = 0; i < dgvLoadAll.Rows.Count; i++)
            {
                for (int k = 0; k < dataGridView1.Columns.Count - 0; k++)
                {
    
                    if (dataGridView1[k, i].Value != null)
                    {
                        pdftable.AddCell(new Phrase(dataGridView1.SelectedRows[i].Cells[k].Value.ToString(), text));
                        //pdftable.AddCell(new Phrase(dgvLoadAll[k, i].Value.ToString(), text));
    
                    }
                }
            }
    
            //float[] widths = new float[] { 15f, 50f, 40f, 40f, 40f, 40f, 40f, 40f, 40f, 40f, 40f, 40f, 40f, 40f, 40f, 40f, 40f };
    
            // pdftable.SetWidths(widths);
            doc.Add(pdftable);
            doc.Close(); 
            System.Diagnostics.Process.Start("Test.pdf");
        }
    

0 个答案:

没有答案