python记录-excel批量数据导出为word表格
根据文章 https://blog.csdn.net/weixin_46308408/article/details/104351792,自己捣鼓了一下,批量导入word,还是很不错的!
目前问题:调整表格中的字段对齐方式,不能自动居中(手动加空格可以) ,excel(字段名随便)及导出word表格示意图
from docx import Document #功能是打开文档
from docx.enum.text import WD_ALIGN_PARAGRAPH # 功能是对齐
from docx.shared import Pt #设置磅数
from docx.oxml.ns import qn #负责中文格式 以上是每次使用word要使用的库
from docx.shared import Cm #调整行高和列宽
import xlrd
#from docx.shared import Inches #设置图片格式
import time #需要导入时间
year = time.strftime("%Y")
today = time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y='年',m='月',d='日') #可以更具需求任意修改中间的内容,带式不能显示中文,通过formate可以实现显示中文document = Document() #初始化文档
document.styles['Normal'].font.name = u'仿宋' #设置整个文档的字体
document.styles['Normal'].font.size = Pt(12) #设置文档磅号
document.styles['Normal'].element.rPr.rFonts.set(qn('w:esatAsia'),u'仿宋') #设置文档的基础中文字体,否则显示中文有问题#document.add_picture('1.PNG',width=Inches(6)) #插入图片,设置图片尺寸xlsx = xlrd.open_workbook('te.xlsx')
sheetname = xlsx.sheet_names()[0]
sheet_c = xlsx.sheet_by_index(0)for i in range(1,sheet_c.nrows):date0 = sheet_c.row_values(i)P1 = document.add_paragraph() #增加一个自然段P1.alignment = WD_ALIGN_PARAGRAPH.CENTER #对其方式为居中,不设置默认左对齐run1 = P1.add_run('平台测试用例') #增加自然段的内容run1.font.name = '仿宋' #设置自然段的字体run1.element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋') #为显示中文正确run1.font.size =Pt(20) #设置中文字体磅数run1.font.bold = True #设置加粗P1.space_after = Pt(5) #段前的距离P1.space_before = Pt(5) #段后的距离table = document.add_table(rows=16,cols=8,style='Table Grid') #表示16行8列,style 使用word使用word自带格式table.run1 = table.cell(0,0).paragraphs[0].add_run('用例名称:') #对于合并后的单元格,table(0,0),使用当中的任何一个单元格都可以table.run1.font.name = u'仿宋'table.run1.element.rPr.rFonts.set(qn('w:eastAisa'),u'仿宋')table.cell(0,0).paragraphs[0].aligment =WD_ALIGN_PARAGRAPH.CENTER #设置表格内容居中table.cell(0,0).width = Cm(2) #设置单元格列宽table.cell(0,1).width = Cm(2)table.cell(0,2).width = Cm(3)table.cell(0,3).width = Cm(3)table.cell(0,4).width = Cm(3)table.cell(0,5).width = Cm(3)table.cell(0,6).width = Cm(2)table.cell(0,7).width = Cm(1)table.cell(0,8).width = Cm(1)table.rows[0].height = Cm(1) #设置行高table.rows[1].height = Cm(1)table.rows[2].height = Cm(1)table.rows[3].height = Cm(1)table.rows[4].height = Cm(1)table.rows[5].height = Cm(1)table.rows[6].height = Cm(1)table.rows[7].height = Cm(1)table.rows[8].height = Cm(1)table.rows[9].height = Cm(2)table.rows[10].height = Cm(2)table.rows[11].height = Cm(2)table.rows[12].height = Cm(2)table.rows[13].height = Cm(1)table.rows[14].height = Cm(1)table.rows[15].height = Cm(1)table.cell(0,0).merge(table.cell(0,1)) #对第0行进行合并table.cell(0,2).merge(table.cell(0,3))table.cell(0,4).merge(table.cell(0,5))table.cell(0,6).merge(table.cell(0,7))table.cell(1,0).merge(table.cell(1,1)) #对第1行进行合并table.cell(1,2).merge(table.cell(1,7)) table.cell(2,0).merge(table.cell(2,1)) #对第2行进行合并table.cell(2,2).merge(table.cell(2,7)) table.cell(3,0).merge(table.cell(3,1))table.cell(4,0).merge(table.cell(4,1))table.cell(5,0).merge(table.cell(5,1))table.cell(6,0).merge(table.cell(6,1))table.cell(3,0).merge(table.cell(6,0)) #对第一列进行合并table.cell(3,2).merge(table.cell(3,3)) table.cell(3,4).merge(table.cell(3,7))table.cell(4,2).merge(table.cell(4,3))table.cell(4,4).merge(table.cell(4,7))table.cell(5,2).merge(table.cell(5,3))table.cell(5,4).merge(table.cell(5,7))table.cell(6,2).merge(table.cell(6,3))table.cell(6,4).merge(table.cell(6,7))table.cell(7,0).merge(table.cell(7,7))table.cell(8,1).merge(table.cell(8,2))table.cell(8,3).merge(table.cell(8,4))table.cell(8,5).merge(table.cell(8,6))table.cell(9,1).merge(table.cell(9,2))table.cell(9,3).merge(table.cell(9,4))table.cell(9,5).merge(table.cell(9,6))table.cell(10,1).merge(table.cell(10,2))table.cell(10,3).merge(table.cell(10,4))table.cell(10,5).merge(table.cell(10,6))table.cell(11,1).merge(table.cell(11,2))table.cell(11,3).merge(table.cell(11,4))table.cell(11,5).merge(table.cell(11,6))table.cell(12,0).merge(table.cell(12,1)) #对第12行进行合并table.cell(12,2).merge(table.cell(12,7))table.cell(13,0).merge(table.cell(13,1)) #对第12行进行合并table.cell(13,2).merge(table.cell(13,7))table.cell(14,0).merge(table.cell(14,1)) #对第12行进行合并table.cell(14,2).merge(table.cell(14,7))table.cell(15,0).merge(table.cell(15,2)) table.cell(15,4).merge(table.cell(15,5)) table.cell(15,6).merge(table.cell(15,7)) table.cell(0,0).text = '用例名称'table.cell(0,4).text = '用例标识'table.cell(1,0).text = '测试追踪'table.cell(1,2).text = '《**软件需求规格说明书》、《**软件设计报告》、《**系统测试大纲》'table.cell(2,0).text = '用例说明'table.cell(3,0).text = '用例初始化'table.cell(3,2).text = '硬件配置'table.cell(3,4).text = 'CPU内存硬盘'table.cell(4,2).text = '软件配置'table.cell(4,4).text = 'CentOS7.6系统、**数据库'table.cell(5,2).text = '测试配置'table.cell(5,4).text = '被测软件'table.cell(6,2).text = '参数配置'table.cell(6,4).text = '参数'table.cell(7,0).text = '测试过程'table.cell(8,0).text = '序号'table.cell(8,1).text = '输入及操作说明'table.cell(8,3).text = '期望测试结果'table.cell(8,5).text = '评估标准'table.cell(8,7).text = '备注'table.cell(12,0).text = '前提和约束'table.cell(13,0).text = '过程终止条件'table.cell(13,2).text = '测试取得预期结果或被测软件故障'table.cell(14,0).text = '结果评估标准'table.cell(13,2).text = '与期望结果一致'table.cell(15,0).text = '设计人员'table.cell(15,4).text = '设计日期'table.cell(0,3).text = date0[0] #开始打印cecel表格中的内容table.cell(0,7).text = date0[1]table.cell(2,2).text = date0[2]# table.cell(9,0).text = date0[3]table.cell(15,6).text = date0[4]table.cell(14,2).text = date0[5]table.cell(15,3).text = date0[10]document.add_page_break() #作用是插入分页符document.save('%s用例.docx'%today)
python记录-excel批量数据导出为word表格相关推荐
- 使用python 将excel中数据批量生成word周报
使用python 将excel中数据调用word模板批量生成word周报 背景 环境 功能需求 程序实现 背景 日常项目中每周需要召开项目周会,会议纪要和会议周报是必不可少的一项内容,会议纪要要求监理 ...
- python处理word表格excel_利用Python将excel数据读取到word表格
在工作中可能需要两者对excel和word进行转化,今天介绍例如Python 将excel转word表格 看图,我需要将这份excel文档转word表格: 思路: 1.创建需要的表格: 2.读取exc ...
- Python开发学习之Python和Excel的数据实现互通
今天为大家分享一篇使用Python和Excel的数据实现互通的技巧心得,可以让Python和Excel的数据实现互通!具有很好的参考价值,希望对大家有所帮助(建议在电脑端阅读,代码案例较多).一起过来 ...
- xwpftemplate的时间设置_数据导出生成word附件使用POI的XWPFTemplate对象
比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel. Jakarta POI 是一套用于访问微软格式文档的Java API.Jakarta POI有很多 ...
- npoi 将html导出word,使用NPOI将数据导出为word格式里的table
开发环境:VS2013+MySQL5.5+EF6+NPOI2.0.6 格式:WinForm+CodeFirst PS:vs2013的CodeFirst很方便了啊 CodeFirst方式就不再赘述了. ...
- 数据处理小工具:Excel 批量数据文件拆分/整合器...
需求分析: 现在有一大堆的Excel数据文件,需要根据每个Excel数据文件里面的Sheet批量将数据文件合并成为一个汇总后的Excel数据文件.或者是将一个汇总后的Excel数据文件按照Sheet拆 ...
- C#从excel中将数据导出到datatable
#region 从excel中将数据导出到datatable/// <summary>/// 读取excel 默认第一行为标头/// </summary>/// <par ...
- Excel批量数据拼接转换为 insert 插入语句
Excel批量数据拼接转换为oracle insert 插入语句 使用excel 公式实现: 使用最简单的,在要输入公式的单元格写上="",在双引号里面写入INSERT语句脚本,例 ...
- 使用xlsx.js完成Excel批量数据导入
使用xlsx.js完成Excel批量数据导入 直接上代码 需要引入的 xlsx.js 文件地址 https://gitcode.net/mirrors/SheetJS/sheetjs/-/blob/m ...
最新文章
- 遮挡目标检测优化笔记
- SCUT - 337 - 岩殿居蟹 - 线段树 - 树状数组
- ITK读取CT DICOM,如何设置窗位和窗宽?
- P3577-[POI2014]TUR-Tourism【状压dp】
- 应用软件使计算机的内存分配更合理,应用软件使计算机的内存分配更合理,运行更加稳定()...
- 数学生物学:生命是数字游戏
- 如何设置计算机http端口号,服务器http端口设置
- webdynpro 组件重用 传值问题
- .Net Core下使用MQTT协议直连IoT平台
- 单元测试 Spring
- raw转bmp程序c语言,求指导,如何用c语言实现读取*.raw格式图像
- 如果你是加勒比海盗首领,会选择哪种算法来使价值最大化?
- linux 初步学习
- 考查频率最高的吉林八景
- CompactRIO安装RT linux系统注意要点
- STM32单片机定时器
- 千万不要用memset函数对二维数组进行初始化
- sitemap生成器-网站sitemap生成器-免费sitemap自动生成
- 怎么裁剪视频?手把手教你裁剪
- Google 打开夜间模式 或者是护眼模式
热门文章
- Windows 11 键盘快捷键终极列表
- Web漏洞挖掘(一)登录认证模块的暴力破解实例
- Alibaba微服务组件Sentinel
- 案例|山东省中医院基于ZABBIX构建网络设备监控预警平台
- realme Q2Pro和红米x10哪个好
- 交通-地铁客流量python时间序列预测
- 基于html家具装饰网站设计毕业设计.rar(含论文毕设+项目源码+答辩设计+成绩评分表+评定表)
- 求(2Y-4)²-4(Y-2)(3Y+7)≥0得解题过程和思路
- 联想拯救者y7000电池耗电快_联想拯救者Y7000游戏本测评之温度、续航双测评
- linux用户行为日志审计方案