1
qwjhb 2018-05-06 21:39:48 +08:00
python 有个库的 现在模板里建好书签就行
|
2
lpd0155 2018-05-06 22:05:14 +08:00 via Android 1
Docxtpl 了解一下
|
3
lpd0155 2018-05-06 22:06:35 +08:00 via Android
Docx-mailmerge
也是可以的,比较适合你说的这个情景 |
4
ethanlu 2018-05-06 22:08:11 +08:00
我是用 excel+word 用 vba 做的
|
5
xiaoheijw 2018-05-07 09:28:59 +08:00
伸手党啊
|
6
holajamc 2018-05-07 10:21:43 +08:00
docxtpl 可以,但是如果你的数据足够大的话可能会随时 GG。
如果你试过的话应该知道 office 都是基于 xml 实现的,那么很简单了,用 docxtpl 的思想,用 jinja2 书写模板之后修改 document.xml 中的部分 xml 标签隔断,渲染模板最后再压缩回去~ |
12
jijiwaiwai 2018-05-07 13:39:05 +08:00
docx 就是一个 zip,python 解压之后只需要修改 xml 文件的内固定位置的内容就行,在打包就行了
|
13
qile1 2018-05-08 00:44:41 +08:00 via Android
@holajamc 能说的详细些不?没看懂,html 用 jinja2 替换弄过,world 的 doc 文档不是不太开源,怎么会和 xml 有关系
能说说具体实现方式不 |
14
holajamc 2018-05-08 08:51:12 +08:00
@qile1 你把 word 的 docx 解压会发现就是一个 zip 压缩包,其中最关键的部分是 word/document.xml 去更改里面的内容就可以啦~
|
15
qile1 2018-05-08 22:16:04 +08:00 via Android
@holajamc 那是不是我就可以用 docx 做模板了
xml 里面设置项目的替换,用 jinja2 替换,然后 zip 压缩改名为 docx 后缀,以前见有的把 html 格式作为模板,保存在数据库的是 xml 文件,估计和这个类似 |
16
holajamc 2018-05-09 09:09:54 +08:00
@qile1 是的呀,提供一个我目前用的正则处理 xml 标签隔断的代码~
https://github.com/JamCh01/simple_template/blob/master/simple_tamplate/tools.py#L39 |
17
LokiSharp 2018-05-09 09:32:51 +08:00
直接用 Word 的模板系统不就好了。。。。。。dotx 了解一下
|