首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向PdfPTable、iTextSharp添加列

向PdfPTable、iTextSharp添加列
EN

Stack Overflow用户
提问于 2010-02-27 00:16:24
回答 3查看 3.2K关注 0票数 3

我正在使用iTextSharp创建一个PDF文档。我看到了如何创建一个包含许多列的新表,但是我看不到如何动态添加一个新列。我的问题是我不能马上知道我需要的列数,所以我需要不断地添加它们

有没有人可以告诉我,或者每次我需要添加一列时,我都必须重新创建表?

感谢Mat

EN

回答 3

Stack Overflow用户

发布于 2011-01-04 20:42:13

那么创建一个包含您想要的表的中间模型,并且能够为您创建PDF表不是很有意义吗?

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

票数 2
EN

Stack Overflow用户

发布于 2010-12-29 03:07:09

只要创建了列计数,PdfPTable表就是不可变的。

我能想到的唯一解决办法是从一大堆列开始,然后...不,那也行不通。您甚至不能将单元格添加到现有行。我想你可以使用列跨度来掩蔽额外的列,并在向行中添加更多单元格时调整它们,但这也不起作用。

添加列时必须重新生成表。没有办法绕过它。

我强烈建议您首先弄清楚如何在创建表之前确定列数……即使你不得不“排练”你的数据。使用某种中间格式(字符串或其他格式)来保存数据,然后根据这些格式构建表,而不是在数据到达时构建表。或者至少跟踪您需要的列的数量。

考虑到大量的数据,单次通过可能是不实际/不可能的。但是,几次重新构建整个表也好不到哪里去。这确实是一个性能调优问题,只有您有信息才能回答。

票数 0
EN

Stack Overflow用户

发布于 2010-03-01 17:36:46

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

所有你需要告诉它的是你有多少列,然后继续添加单元格。

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

这样做的唯一缺点是,如果您需要添加行,而不是所有单元格都填充了,但我通常只添加一个空单元格或其中包含空格的单元格来解决这个问题。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2342995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档