python利用docxtpl将excel数据写入word表格

这篇具有很好参考价值的文章主要介绍了python利用docxtpl将excel数据写入word表格。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解决问题一:将excel数据读取,并将其保存在word中的表格

解决问题二:使用xlrd读入excel数据,如果是整数的话,打开word后发现保存变成了浮点数,后边多了“.0”。

问题一、

可以参考docxtpl快速上手使用,数据填入以及循环写入表格_sxuccs的博客-CSDN博客

docxtpl/python-docx_雪球干死黄旭东的博客-CSDN博客

 首先在word里边编写模板,大概这个样子: 

python利用docxtpl将excel数据写入word表格,office,excel,word

 填充数据的地方最少要写三行:

一行是

{%tr for item in list%}

中间是你要填充的数据,都写成这种形式就好(把xxx替换掉):

{{item.xxx}}

最后一行写end

{%tr endfor%}

这样有多少数据就会自动填充多少行啦。

将excel数据导入word我是这么写的:

##前边首先打开读取excel,这部分没写
list1 = []
for i in range(nrows):
    name = sheet.cell_values(i,1)
    num =  sheet.cell_values(i,2)
    dic = {'name':name,'num':num}
    list1.append(dic)
context = {"list" : list1}
doc.render(context)
doc.save("1.docx")

问题二:

我的数据格式是姓名;数字

例如  张三;125

在开始处理的时候我将excel数据进行了分列,一列姓名一列数字,但是运行完之后打开word却发现里边的数据变成了这样:

张三 125.0

原来的整数变成了浮点数。于是我尝试将excel数据设置成了“文本”,再次运行代码后发现没有用

于是我不再将数据分列处理,直接将代码写成了这样:

value = sheet.cell_values(i,1)
name  = value.split(";",1)[0]
num   = value.split(";",1)[1]

这样就搞定了。后来我继续查阅了一些资料

参考在Python中使用xlrd读取数字Excel数据作为文本 - 行业资讯 - 电子产品设计开发与电子技术学习交流!

python利用docxtpl将excel数据写入word表格,office,excel,word

 他这个排版有点乱,意思是这样的:

cell = sheet.cell(r,c) 
cell_value = cell.value 
if cell.ctype in (2,3) and int(cell_value) == cell_value: 
    cell_value = int(cell_value)

其实挺好理解的,但是这个2,3我没有看懂,继续查了资料原来是这个意思:

参考Python操作 Excel_sheet.cell_超级代码的博客-CSDN博客

​cell.value:这个单元格中的值

cell.ctype:这个单元格的数据类型

print(sheet.cell(0,1).ctype)  # 1   姓名    文本
print(sheet.cell(2,2).ctype)  # 2  100    数字 

Cell数据类型

  1. xlrd.XL_CELL_TEXT 文本类型
  2. xlrd.XL_CELL_NUMBER 数值类型
  3. xlrd.XL_CELL_DATE 日期类型
  4. xlrd.XL_CELL_BOOLEAN 布尔类型
  5. xlrd.XL_CELL_BLANK 空白类型

 所以23就代表数据类型是数值或者日期文章来源地址https://www.toymoban.com/news/detail-530048.html

到了这里,关于python利用docxtpl将excel数据写入word表格的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Matlab:将数据写入 Excel 电子表格

    要将工作区中的表导出到 Microsoft® Excel® 电子表格文件中,请使用 writetable 函数。您可以将工作区中的数据导出到文件中的任何工作表,以及导出到该工作表中的任何位置。默认情况下,writetable 将表数据写入到文件中的第一张工作表,并从单元格 A1 处开始。 例如,创建一个

    2024年02月09日
    浏览(42)
  • 修改注册表来解决Microsoft Office中word和excel表格打开新文件时前面最小化的文件重新弹出显示的问题

    word: 1. 关闭所有Word窗口。 2. 打开注册表编辑器(运行输入regedit并按回车) 3. 打开以下注册表路径: HKEY_CLASSES_ROOTWord.Document.12ShellOpencommand 4. 右击右侧栏\\\"默认\\\",点修改,在数据数值框中,在/n前加上/q命令(/q和/n中间有个空格) 5. 点击确定。 注:(1)针对docx文件 HKEY_C

    2024年02月04日
    浏览(86)
  • ArrayList/MySQL数据批量写入Excel表格

    ArrayList/MySQL数据集合写入Excel 1.文章概述: 写入 Excel 文件通常需要使用一些库或工具,而\\\"EasyExcel\\\"通常是指的阿里巴巴开源的EasyExcel库。这个库可以让我们在Java中简便地进行Excel文件的读写操作。 2.导入配置: 3.Excel模板类 4.工具类示例代码:

    2024年02月09日
    浏览(29)
  • 用python实现excel表格插入word

    你可以使用Python中的 python-docx 和 openpyxl 库来实现将Excel表格插入Word文档。下面是一个示例代码,可以将一个名为\\\"example.xlsx\\\"的Excel表格插入到一个名为\\\"example.docx\\\"的Word文档中: python复制代码 import openpyxl from docx import Document # 打开Word文档 doc = Document(\\\"example.docx\\\") # 打开Excel表格

    2024年01月19日
    浏览(32)
  • Excel表格数据填充到word模板中

            这个需求源于要批量生成模板一样的word文档。当然可以直接使用word的邮件合并功能,点菜单就可以实现,示例代码如下:        要使用这些代码,需要引用2个库microsoft word,microsoft office,如果使用到客体界面的话,还要引用microsoft Forms。本代码可以同时利用两个

    2024年02月15日
    浏览(29)
  • [office] excel成绩表格数据排名次的教程 #职场发展#知识分享#媒体

    excel成绩表格数据排名次的教程 Excel 中经常需要使用到 排名 次的技巧,成绩表格数据具体该如何排名呢?接下来是小编为大家带来的excel成绩表格数据排名次的教程,供大家参考。 步骤1:不管在学校还是各个统计领域,排名应用随处可见,如果排序会打乱原有次序,那么好多

    2024年02月21日
    浏览(33)
  • 100天精通Python丨办公效率篇 —— 12、Python自动化操作 office-word(word转pdf、转docx、段落、表格、标题、页面、格式)

    本文收录于 《100天精通Python专栏 - 快速入门到黑科技》专栏 ,是由 CSDN 内容合伙人丨全站排名 Top 4 的硬核博主 不吃西红柿 倾力打造。 基础知识篇以理论知识为主 ,旨在帮助没有语言基础的小伙伴,学习我整理成体系的精华知识,快速入门构建起知识框架; 黑科技应用篇

    2023年04月18日
    浏览(40)
  • 利用python工具提取多个word中的图片和表格

    由于工作因素,经常要对多个文档内容进行查重,文字类可以借助查重工具辅助,但图片和表格只能依靠鼠标滚轮还有笔者的打工眼。久而久之,眼睛废了,肩颈也吃不消了(-.-)。于是乎,就想用脚本批量导出,从而提高效率。 笔者非软件专业,所以只能请ChatGPT当导师了

    2024年02月08日
    浏览(33)
  • CDH6.3.2 的pyspark读取excel表格数据写入hive中的问题汇总

    需求:内网通过Excel文件将数据同步到外网的CDH服务器中,将CDH中的文件数据写入hive中。 CDH版本为:6.3.2 spark版本为:2.4 python版本:2.7.5 操作系统:CentOS Linux 7 集群方式:yarn-cluster 一、在linux中将excel文件转换成CSV文件,然后上传到hdfs中。 为何要先转csv呢?主要原因是pysp

    2024年02月07日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包