python实现的生成word文档功能示例


Posted in Python onAugust 23, 2019

本文实例讲述了python实现的生成word文档功能。分享给大家供大家参考,具体如下:

每月1次的测试费用报销,需要做一个文档。干脆花点时间写个程序吧。

# -*- coding: utf-8 -*-
from tools import get_data
from docx import Document
def new_doc(fee_data,doc_path,fee):#新建一个word文档,写入汇总表的数据
  document = Document()
  p_total = document.add_paragraph()
  r_total = p_total.add_run(u'测试订单费用汇总表:')
  r_total.font.bold = True
  table = document.add_table(1,5,style="Light List Accent 5")
  heading_cells = table.rows[0].cells
  heading_cells[0].text = u'序号'
  heading_cells[1].text = u'订单号'
  heading_cells[2].text = u'订单总额'
  heading_cells[3].text = u'运费'
  heading_cells[4].text = u'实付金额'
  total = 0
  for i in range(0,len(fee_data)):
    cells = table.add_row().cells
    cells[0].text = str(i+1)
    cells[1].text = str(fee_data[i][0])
    cells[2].text = str(float(fee_data[i][1])/100)
    cells[3].text = str(float(fee_data[i][2])/100)
    cells[4].text = str(float(fee_data[i][3])/100)
    total = total + fee_data[i][3]
    if total > fee:#如果实付总额大于传入的金额,终止写入数据,并记录序号
      number = i
      break
  total = str(float(total)/100)
  document.add_paragraph(u'实付金额总计:' + total + u' 元。')
  document.add_paragraph()
  p_detail = document.add_paragraph()
  r_detail = p_detail.add_run(u'测试订单明细:')
  r_detail.font.bold = True
  for i in range(0,number+1):
    order_no = str(fee_data[i][0])
    paid_amount = str(float(fee_data[i][3])/100)
    row_str = str(i+1) + '.' + u'订单号:' + order_no + u'实付金额:' + paid_amount + u'元。'
    document.add_paragraph(row_str)
  document.save(doc_path)
if __name__ == "__main__":
  #sql语句筛选实付金额在5元和39元之间的订单
  sql = "SELECT outer_order_id,order_amount,real_shipping_amount,paid_amount FROM oh_order_info WHERE " \
   "order_create_time between '2017-12-01 9:00:00' and '2017-12-27 9:00:00' " \
   "AND paid_amount between '500' and '3900'"
  fee_data = get_data(sql)
  doc_path = r'd:\yuzhong.docx'
  fee = 12300 #多少元以上,单位:分
  new_doc(fee_data,doc_path,fee)

使用到的tools文件中get_data函数

# -*- coding: utf-8 -*-
import MySQLdb
import conf
def get_data(*sql_list):#根据sql语句,获取数据库的数据
  conn = MySQLdb.connect(conf.test_dbhost,conf.test_user,conf.test_passd,conf.test_dbname,port=3306,charset="utf8")
  cur = conn.cursor()
  for sql in sql_list:
    cur.execute(sql)
  conn.commit()
  results = cur.fetchall()
  cur.close()
  conn.close()
  return results

conf文件中记录的数据库帐号和密码。

运行结果:

python实现的生成word文档功能示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中input和raw_input的一点区别
Oct 21 Python
python通过函数属性实现全局变量的方法
May 16 Python
python多线程socket编程之多客户端接入
Sep 12 Python
Python将string转换到float的实例方法
Jul 29 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
python 多进程共享全局变量之Manager()详解
Aug 15 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
python实现小程序推送页面收录脚本
Apr 20 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
Oct 20 Python
使用Djongo模块在Django中使用MongoDB数据库
Jun 20 Python
基于Python实现流星雨效果的绘制
Mar 18 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
Aug 23 #Python
详解Matplotlib绘图之属性设置
Aug 23 #Python
python3.6生成器yield用法实例分析
Aug 23 #Python
python基础 range的用法解析
Aug 23 #Python
Django 导出项目依赖库到 requirements.txt过程解析
Aug 23 #Python
Django接收自定义http header过程详解
Aug 23 #Python
Python 处理文件的几种方式
Aug 23 #Python
You might like
PHP 的 __FILE__ 常量
2007/01/15 PHP
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
使用php实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
2015/07/27 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
微信小程序 地图定位简单实例
2016/10/14 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
python实现视频分帧效果
2019/05/31 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
django中cookiecutter的使用教程
2020/12/03 Python
假日旅行社实习自我鉴定
2013/09/24 职场文书
应届生求职推荐信
2013/10/28 职场文书
实用的简历自我评价
2014/03/06 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
会计系毕业求职信
2014/08/07 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
商铺租房协议书范本
2014/12/04 职场文书
财务负责人岗位职责
2015/02/03 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
浅谈python中的多态
2021/06/15 Python