1
我已經使用iTextSharp將DataGridView數據導出爲PDF。列寬完全相同,並且一些標題列字被錯誤地分解。我想要做的是自動調整標題列寬度以適應每個標題文本長度。使用iTextSharp和C#自動調整表格列寬度#
這裏是我的代碼:
PdfPTable table = new PdfPTable(dgv.Columns.Count);
for (int j = 0; j < dgv.Columns.Count; j++)
{
Font font = new Font(Font.FontFamily.COURIER, 14, Font.ITALIC);
font.Color = BaseColor.BLUE;
if (j == 0)
{
Phrase p1 = new Phrase(dgv.Columns[j].HeaderText, font);
table.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
table.WidthPercentage = 100;
table.AddCell(p1);
}
else
{
string header = dgv.Columns[j].HeaderText;
header = Regex.Replace(dgv.Columns[j].HeaderText, "[A-Z]", " $0").Trim();
Phrase p = new Phrase(header, font);
table.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
table.WidthPercentage = 100;
table.AddCell(p);
}
}
table.HeaderRows = 1;
for (int i = 0; i < dgv.Rows.Count; i++)
for (int k = 0; k < dgv.Columns.Count; k++)
if (dgv[k, i].Value != null)
{
Phrase p = new Phrase(dgv[k, i].Value.ToString());
table.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
table.AddCell(p);
}
doc.Add(table);
這是PDF輸出:
它的工作,謝謝 但我不知道如何與我的方法一起使用。這是我的方法代碼: http://image.prntscr.com/image/abc8526743c345cbaf2246d591bc7c20.png – Kfir