Я новичок в программировании и пытаюсь экспортировать значения из представления данных в форме Windows в PDF.Однако, когда я выполняю этот код, он прерывает выполнение на foreach, где я получаю значения ячеек прямо в (PdfPCell pdfCell = new PdfPCell (new Phrase (cell.Value.ToString ()));) Кто-нибудь может мне помочь с этим кодом?
private void button1_Click(object sender, EventArgs e)
{
PdfPTable pdfTable = new PdfPTable(dataGridView1.ColumnCount);
pdfTable.DefaultCell.Padding = 3;
pdfTable.WidthPercentage = 30;
pdfTable.HorizontalAlignment = Element.ALIGN_LEFT;
pdfTable.DefaultCell.BorderWidth = 1;
foreach (DataGridViewColumn column in dataGridView1.Columns)
{
PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText));
cell.BackgroundColor = new iTextSharp.text.BaseColor(240, 240, 240);
pdfTable.AddCell(cell);
}
foreach (DataGridViewRow row in dataGridView1.Rows)
{
foreach (DataGridViewCell cell in row.Cells)
{
PdfPCell pdfCell = new PdfPCell(new Phrase(cell.Value.ToString()));
pdfTable.AddCell(pdfCell);
}
}
string folderPath = "PDFs";
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();
}
}