python-docx的表格行宽设置


想做一个文本格式自动生成器,遇到docx的表格设置宽度问题。

网上docx的资料比较少,官方在表格行宽也没介绍,用行高设置的方式来设置宽度,总是不行。

多次尝试解决了问题,需要对同列的cell属性进行设置,而不能直接对columns或者column设置,要么报错,要么没反应。

可以在给cell赋值时,检测对应的列号,这样就可对整个列宽度进行约束。

伪代码:

row_cnt=0
for row_cnt in xx:
cell_cnt=0
for cell_cnt in xx:
if row_cnt==0: ##设置第一列的列宽
table.cell(row_cnt,cell_cnt).width=Cm(3)
table.cell(row_cnt,cell_cnt).value=xx #给每个cell赋值
cell_cnt+=1
row_cnt+=1
.....
原来用cell(0,0)赋值的办法,想第一格约束了宽度就行,实际不行。原因可能是第二行的cell会改变原本的行宽,用这种方法autofill也不会起作用,而判断同一列的cell方法,有点笨,但是实现了。如果要设置第二列宽,只用增加一个if即可。

记下来,帮助需要的人。
————————————————
版权声明:本文为CSDN博主「chinxue2008」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_37281967/java/article/details/104072300


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM