-
Notifications
You must be signed in to change notification settings - Fork 7
poi-tl处理Word表格(Table)的最佳实践 #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels
Comments
有没有循环语法,多行数据填充的方式有哪些? |
@OlnyBigRoc TableRenderData.datas属性或者自定义处理 |
为什么没有找到设置字体的方法 |
@OlnyBigRoc 设置字体目前只能自定义调用POI的API了,下个版本会加上这个功能。 |
java.lang.ClassCastException: org.openxmlformats.schemas.wordprocessingml.x2006.main.impl.DocumentDocumentImpl cannot be cast to org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
表格模板
poi-tl默认实现了N行N列的样式(如下图),同时提供了当数据为空时,展示一行空数据的文案(如下图中的No Data Descs)。

在poi-tl的1.2.0版本中,表格模板语法是#,数据结构是com.deepoove.poi.data.TableRenderData。
具体Java代码参考:
表格的宽度怎么定义的
是一个点的二十分之一,或者是1440分之一英寸。官方解释如下:
抛开对这个单位理解的难度,我们最常见的应该是宽度自适应和宽度最大。
如果在poi-tl中设置了width=0,则表格是宽度自适应的。
以A4纸为例,页面宽度为21cm,左右页边距各位3.17cm,则表格的width=(21-3.172)/2.541440,大约为8310。
合并单元格
但是,很多业务场景并不仅限于如此简单的表格布局,产品需求总是丰富多彩的。poi-tl对XWPFDocument进行了封装,增强实现了一些基本功能。在
com.deepoove.poi.NiceXWPFDocument
中提供了合并的功能。自定义表格之新建表格
我们完全可以从无到有去创建一个新的表格。
RenderPolicy
接口至此,我们持有了NiceXWPFDocument和XWPFRun对象,可以插入表格,合并单元格等操作。
自定义表格之动态处理已有表格
对于事先已知道部分表格样式,我们只需要处理剩余部分的表格可以采用此方式。
比如下图,我们在模板中设计好表格头和表格未的样式,表格中间的数据则可以动态处理。

DynamicTableRenderPolicy
。至此,我们可以通过XWPFTable对象对表格进行删除行列、增加行列、设置文字等操作。
More
有时间的话,会对表格的API作一次优化。
The text was updated successfully, but these errors were encountered: