gpt4 book ai didi

c# - 使用 iTextSharp 设置单元格对齐方式和(备用)背景行颜色

转载 作者:行者123 更新时间:2023-12-02 03:58:52 27 4
gpt4 key购买 nike

我正在从数据库读取数据,并使用 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();

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

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

row[column].HorizontalAlignment = 1;

引用:https://www.mikesdotnetting.com/article/205/exporting-the-razor-webgrid-to-pdf-using-itextsharp

最佳答案

设置 PdfPCell Horizo​​ntalAlignmentBackgroundColor 属性。

示例数据:

static readonly int[,] data = new int[,] 
{
{ 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 }
};
static readonly int rows = data.GetLength(0);
static readonly int columns = data.GetLength(1);

创建 PDF:

var table = new PdfPTable(2) 
{
HorizontalAlignment = Element.ALIGN_LEFT,
WidthPercentage = 50
};
var cell = new PdfPCell() {HorizontalAlignment = Element.ALIGN_CENTER};
using (var stream = new MemoryStream())
{
using (var document = new Document())
{
PdfWriter.GetInstance(document, stream);
document.Open();

for (int i = 0; i < rows; ++i)
{
cell.BackgroundColor = i % 2 == 0
? BaseColor.LIGHT_GRAY : BaseColor.WHITE;
for (int j = 0; j < columns; ++j)
{
cell.Phrase = new Phrase(data[i, j].ToString());
table.AddCell(cell);
}
}
document.Add(table);
}
File.WriteAllBytes(OUTPUT, stream.ToArray());
}

输出:

enter image description here

关于c# - 使用 iTextSharp 设置单元格对齐方式和(备用)背景行颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42775928/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com