R.H.Prem Ответов: 0

Как я могу создать PDF-файл из datagridview в приложении c# winform?


Я хочу сделать pdf из DataGridView, а данные о dataGridView были импортированы из таблицы базы данных sql. В pdf есть строка заголовка, но другая строка пуста. Код находится в Беллоу.

Что я уже пробовал:

private void CreatePDFButton_Click(object sender, EventArgs e)
    {

        string constring = @"Data source=REVENDOL\SQLEXPRESS;Initial Catalog=DB;Integrated Security=true";
        SqlConnection connection = new SqlConnection(constring);

        PdfPTable pdfTable = new PdfPTable(dataGridView.ColumnCount);
        pdfTable.DefaultCell.Padding = 3;
        pdfTable.WidthPercentage = 30;
        pdfTable.HorizontalAlignment = Element.ALIGN_LEFT;
        pdfTable.DefaultCell.BorderWidth = 1;

        foreach (DataGridViewColumn column in dataGridView.Columns)
        {
            PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText));
            //cell.BackgroundColor = new iTextSharp.text.Color(240, 240, 240);
            pdfTable.AddCell(cell);
        }

        foreach (DataGridViewRow row in dataGridView.Rows)
        {
            foreach (DataGridViewCell cell in row.Cells)
            {
                pdfTable.AddCell(cell.Value.ToString());
            }
        }
        string folderPath = @"E:\C#";
        if (!Directory.Exists(folderPath))
        {
            Directory.CreateDirectory(folderPath);
        }
        using (FileStream stream = new FileStream(folderPath + "DataGridViewExport.pdf", FileMode.Create))
        {
            Document pdfDoc = new Document(PageSize.A2, 10f, 10f, 10f, 0f);
            PdfWriter.GetInstance(pdfDoc, stream);
            pdfDoc.Open();
            pdfDoc.Add(pdfTable);
            pdfDoc.Close();
            stream.Close();
        }
    }

David_Wimbley

Какую библиотеку создания PDF вы используете? - я острый?

Animesh Datta

Вы отладили его ? есть ли какое-либо исключение возникает ?

[no name]

Эта статья может вам помочь - Преобразование данных SQL в PDF

0 Ответов