赞
踩
说到docx的用法,度娘一大堆,眼花缭乱的。这里就不啰嗦了,基本上就是新建个Document对象,然后往上边加标题、段落、表格。附带设置这些对象的字型字号啥的。不过有一点,docx和python-docx是两个库,看帖的时候要小心。建议看官方文档
接着看看我们的目标:
为了实现这种编号,我先是想修改本地docx的样式来解决,生成文档的时候只设置成几级标题,不设置任何样式,在本机修改默认样式模板。结果,没啥用。
然后我想会不会在docx的标题样式里有相关的设置,然后就找到了这个
编号样式还没有实现,果然大神研发鄙视python还是有道理的。那现在只能从样式模板上入手了,找了半天也没有发现指定模板的的方法,docx库的默认模板和本地的模板不是指一个东东。
无奈了,最后选择笨办法,手工赋值:比较难受的是因为要操作全局变量取编号,但目录和广度和深度都是不确定因素,所以只能定死。
思路就是使用全局变量n来判断目录的广度,使用num确定目录的深度,读取各个全局变量listxx里的编号将编号加到item名前。如果有更美观的实现方式,请诸位看客一定留言告知。
代码如下:
import os
import os.path
from docx import Document
from docx.enum.style import WD_STYLE_TYPE
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.oxml.ns import qn
from doc
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。