python自动生成Docx(docxtpl库)
2023-09-14 08:57:47 时间
python这个库很有用,可以格式化生成报告等。
其他内容请点此处,下面只写docxtpl的功能代码。
# coding: utf-8 import web # 我们用的webpy框架 import StringIO form docxtpl import DocxTemplate def doctest(): tpl = DocxTemplate('E:/safe.docx') # 读取docx模板,注意:需要提前设置好模板,下面会介绍 tpl = DocxTemplate('/home/sysadm/shell/usm/usm_tk_online2/usm/www/safetytrain/safe.docx') # 将文件流返回 web.header('Content-type', 'aapplication/msword') # 指定返回类型 web.header('Transfer-Encoding', 'chunked') web.header('Content-Disposition', 'attachment;filename={0}'.format('名称' + '.doc')) list_docx = [] # 将需要写道doc的内容都放到list_docx列表里面 list_docx.append({'personname':"personname","companyname":"companyname","division":"division"}) datetody = str(datetime.date.today()) # 用来给doc名称动态显示时间 list_docx_x, list_docx_y = divmod(len(list_docx), 35) # 生产doc文档的页数 if list_docx_y != 0: list_docx_count = list_docx_x + 1 else: list_docx_count = list_docx_x list_docx_de = [] page_s = [] for i in range(list_docx_count): page_s.append(i+1) for i in range(list_docx_count): if i == list_docx_count - 1: li_c = list_docx[(i)*35:] else: li_c = list_docx[(i)*35: (i)*35 + 35] list_docx_de.append(li_c) ret = {"page":list_docx_count,"datetody":datetody, "total": list_docx_de} # 在doc里面对ret进行取值 # 以下都是固定写法 tpl.render(ret) sio = StringIO.StringIO() # 将文件保存为string流 tpl.save(sio) # 将光标移到开头 sio.seek(0) # 会在浏览器显示下载特效 return sio.getvalue()
模板语法(图片来至网络)
相关文章
- Python装饰器详解
- pycharm怎么导包_python自动到包快捷键
- python格式化转换_Python进制转换format格式化[通俗易懂]
- Python练习题 025:判断回文数[通俗易懂]
- python chmod_使Python脚本可执行chmod755?
- Python元组_python输出元组
- python生成器详解_Python 生成器
- Python自动抢购脚本,学废了双十一双十二帮女票抢购心爱的礼物,隔壁女孩都馋哭了。
- 【说站】python列表追加元素出错的解决
- 【说站】python中del在垃圾回收的使用
- Python修改文件后缀_python重命名文件名
- Python 生成随机数_python 随机字符串
- python解析json脚本记录
- 用 Python 自动生成数据日报!
- 【测试开发】python系列教程:Python 推导式
- 【测试开发】python系列教程:Python注释和解释器
- 从基础掌握Python的列表和元组
- 数据结构小记【Python/C++版】——BST树篇
- python-Python与MongoDB数据库-MongoDB数据库的基本知识
- python-Python与PostgreSQL数据库-PostgreSQL数据库的基本知识(二)
- Python property()函数:定义属性
- python自动连接ssh的代码详解编程语言
- Python学习:6.python内置函数详解编程语言
- 新手学 python 选什么编辑器比较好呢?
- 如何维护关键的 Python 项目
- python从MSSQL到Python:一段跨语言的旅程(mssql除以)
- Linux Python:开启互联网新时代(linux python)
- Windows8下安装Python的BeautifulSoup
- 跟老齐学Python之集合的关系