小编Kfi*_*fir的帖子

使用iTextSharp和C#自动调整表格列宽

我使用iTextSharp将DataGridView数据导出为PDF.列宽都完全相同,并且某些标题列字被错误地分解.我要做的是自动调整标题列宽度以适应每个标题文本长度.

这是我的代码:

 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 = …
Run Code Online (Sandbox Code Playgroud)

.net c# pdf datagridview itext

2
推荐指数
1
解决办法
5662
查看次数

标签 统计

.net ×1

c# ×1

datagridview ×1

itext ×1

pdf ×1