C# 将列添加到PdfPTable,iTextSharp

C# 将列添加到PdfPTable,iTextSharp,c#,itextsharp,pdfptable,C#,Itextsharp,Pdfptable,我正在使用iTextSharp创建PDF文档。我看到了如何创建一个包含许多列的新表,但我看不到如何动态添加一个新列。我遇到的问题是,我无法立即知道需要的列数,因此需要不断添加它们 有人能告诉我吗?还是每次我需要添加一列时都要重新创建表 谢谢 MatITextSharp表的工作方式与HTML表(我想您已经习惯了)不同 您只需要告诉它您拥有的列数,然后继续添加单元格 假设您创建了一个包含5列的pdfptable。您添加的第五个单元格将位于第一行,第六个单元格将位于第二行的第一列 唯一的缺点是,如果您

我正在使用iTextSharp创建PDF文档。我看到了如何创建一个包含许多列的新表,但我看不到如何动态添加一个新列。我遇到的问题是,我无法立即知道需要的列数,因此需要不断添加它们

有人能告诉我吗?还是每次我需要添加一列时都要重新创建表

谢谢
Mat

ITextSharp表的工作方式与HTML表(我想您已经习惯了)不同

您只需要告诉它您拥有的列数,然后继续添加单元格

假设您创建了一个包含5列的pdfptable。您添加的第五个单元格将位于第一行,第六个单元格将位于第二行的第一列


唯一的缺点是,如果您需要添加并非所有单元格都已填充的行,但我通常通过添加空单元格或带有空格的单元格来解决

PdfPTable表在创建后的列计数中是不可变的

我能想到的唯一解决办法是从一大堆专栏开始,然后。。。不,那也不行。甚至不能将单元格添加到现有行。我在想,您可以使用列扩展来屏蔽额外的列,并在向行中添加更多单元格时进行调整,但这也行不通

添加列时必须重新生成表。没办法

我强烈建议您首先在创建表之前确定如何确定列计数。。。即使您必须“干运行”您的数据。使用某种中间格式(字符串[][]或其他任何格式)保存数据,然后根据该格式而不是数据来构建表。或者至少跟踪需要多少列


鉴于数据量巨大,单次传递可能不现实/不可能。但是几次重建你的整个桌子再好不过了。这确实是一个性能调整问题,只有您有信息可以回答。

那么,创建一个包含所需表的中间模型,然后能够为您创建PDF表,这难道不合理吗


我知道这听起来需要做很多工作,但从长远来看,这应该会有所帮助,因为您可以在构建行和列时动态更改它们,然后在最后,简单地“编译”表并输出PdfPTable对象?

我想您误解了我的问题,我想添加一个新列,也就是说,我有一个包含3列的表,我想添加第4列,而不是移动到一个新的行,是的,对不起,试图在一天中过早地解决问题!FWIW我在IText上花了很多时间,但不知道有什么方法可以做到这一点。