我已经修复了您的代码片段中的缩进。你现在可以一眼看出你做错了什么。
你有:
PdfPTable pdfTable= new PdfPTable(5);
foreach(DataGridViewRow row in dataGridView1.Rows) {
foreach (DataGridViewCell celli in row.Cells) {
try {
pdfTable.AddCell(celli.Value.ToString());
}
catch { }
}
doc.Add(pdfTable);
}
这意味着您正在创建一个表,添加它的次数与行数一样多,因此行的重复。
你应该有:
PdfPTable pdfTable= new PdfPTable(5);
foreach(DataGridViewRow row in dataGridView1.Rows) {
foreach (DataGridViewCell celli in row.Cells) {
try {
pdfTable.AddCell(celli.Value.ToString());
}
catch { }
}
}
doc.Add(pdfTable);
或者更好:
PdfPTable pdfTable= new PdfPTable(5);
foreach(DataGridViewRow row in dataGridView1.Rows) {
foreach (DataGridViewCell celli in row.Cells) {
pdfTable.AddCell(celli.Value.ToString());
}
}
doc.Add(pdfTable);
现在您只添加一次表。