小编Osc*_*ran的帖子

使用 iTextSharp 设置单元格对齐方式和(替代)背景行颜色

我正在从数据库中读取数据,并使用 iTextSharp 填充表。这是我读取数据的方式:

var db = Database.Open("NewDatabase");
var sql = 
    @"SELECT    FullName,
                [2017-01-02], [2017-01-03], [2017-01-04],
                ([2017-01-02] + [2017-01-03] + [2017-01-04]) as 'DatesSum',
                [Week1]
    FROM        [NewTable]";

var data = db.Query(sql);
var columns = data.First().Columns;                                                                          
var doc = new Document();                                                                                   
PdfWriter.GetInstance(doc, Response.OutputStream);                                                          
doc.Open();
PdfPTable table = new PdfPTable(new float[] {30f, 10f, 10f, 10f, 10f, 10f});

foreach(var row in data)                                                        
{
    foreach(var column in columns)
    {
        table.AddCell(new Phrase(row[column] != null ? row[column].ToString() : string.Empty));
    }
}

doc.Add(table);
doc.Close();
Run Code Online (Sandbox Code Playgroud)

如您所见,我正在使用“foreach”来遍历数据并填充表。这是我所知道的填充表格的唯一方法(我对 iTextSharp 还很陌生)。

我一直在尝试将数据与单元格的中间对齐。另外,我想改变行的颜色(每隔一行)。我一直在循环中尝试这样的事情,但没有结果:

row[column].HorizontalAlignment …
Run Code Online (Sandbox Code Playgroud)

.net c# itext

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

标签 统计

.net ×1

c# ×1

itext ×1