Python 在Word中创建表格并填入数据、图片

这篇具有很好参考价值的文章主要介绍了Python 在Word中创建表格并填入数据、图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Word中,表格是一个强大的工具,它可以帮助你更好地组织、呈现和分析信息。本文将介绍如何使用Python在Word中创建表格并填入数据、图片,以及设置表格样式等。

Python Word库:

要使用Python在Word中创建或操作表格,需要先将Spire.Doc for Python这个第三方库安装到项目中.

pip install Spire.Doc

 

示例代码1:使用Python在Word中创建表格并填充数据

import math
from spire.doc import *
from spire.doc.common import *
 
# 创建Document对象
doc = Document()
 
# 添加一节
section = doc.AddSection()
 
# 创建一个表格
table = section.AddTable()
 
# 指定表格数据
header_data = ["商品名称", "单位", "数量", "单价"]
row_data = [ ["底板-1","","20946","2.9"], 
                ["定位板-2","","38931","1.5"], 
                ["整平模具-3","","32478","1.1"], 
                ["后壳FD1042-4","","21162","0.6"], 
                ["棍子-5","","66517","1.2"]]
                
# 设置表格的行数和列数
table.ResetCells(len(row_data) + 1, len(header_data))
 
# 设置表格自适应窗口
table.AutoFit(AutoFitBehaviorType.AutoFitToWindow)
 
# 设置标题行
headerRow = table.Rows[0]
headerRow.IsHeader = True
headerRow.Height = 23
headerRow.RowFormat.BackColor = Color.get_Orange()
 
# 在标题行填充数据并设置文本格式
i = 0
while i < len(header_data):
    headerRow.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle
    paragraph = headerRow.Cells[i].AddParagraph()
    paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
    txtRange = paragraph.AppendText(header_data[i])
    txtRange.CharacterFormat.Bold = True
    txtRange.CharacterFormat.FontSize = 12
    i += 1
 
# 将数据填入其余各行并设置文本格式
r = 0
while r < len(row_data):
    dataRow = table.Rows[r + 1]
    dataRow.Height = 20
    dataRow.HeightType = TableRowHeightType.Exactly
    c = 0
    while c < len(row_data[r]):
        dataRow.Cells[c].CellFormat.VerticalAlignment = VerticalAlignment.Middle
        paragraph = dataRow.Cells[c].AddParagraph()
        paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
        txtRange =  paragraph.AppendText(row_data[r][c])
        txtRange.CharacterFormat.FontSize = 11
        c += 1
    r += 1
 
# 设置交替行颜色
for j in range(1, table.Rows.Count):
    if math.fmod(j, 2) == 0:
        row2 = table.Rows[j]
        for f in range(row2.Cells.Count):
            row2.Cells[f].CellFormat.BackColor = Color.get_LightGray()
 
# 保存文件
doc.SaveToFile("Word表格.docx", FileFormat.Docx2016)

以下示例通过Section.AddTable() 方法在Word文档中添加了一个表格,然后将列表中的数据填充到了指定的单元格。此外Spire.Doc for Python库还提供了接口设置单元格样式等。

输出结果:

Python 在Word中创建表格并填入数据、图片

 

代码示例2:使用Python在Word表格中插入图片

from spire.doc import *
from spire.doc.common import *
 
inputFile = "表格示例.docx"
outputFile = "插入图片到表格.docx"
 
# 创建Document对象
doc = Document()
 
# 加载Word文档
doc.LoadFromFile(inputFile)
 
# 获取文档中第一个表格
table = doc.Sections[0].Tables[0]
 
# 将图片添加到指定单元格并设置图片大小
cell = table.Rows[1].Cells[1]
picture = cell.Paragraphs[0].AppendPicture("python.png")
picture.Width = 80
picture.Height = 80
 
cell = table.Rows[2].Cells[1]
picture = cell.Paragraphs[0].AppendPicture("java.jpg")
picture.Width = 80
picture.Height = 80
 
# 保存结果文件
doc.SaveToFile(outputFile, FileFormat.Docx)
doc.Close()
 

从以上代码可以看出,要在Word表格中插入图片,需要先获取指定的单元格,然后使用TableCell.Paragraphs[index].AppendPicture() 方法插入图片。

输出结果:

Python 在Word中创建表格并填入数据、图片


 

Spire.Doc for Python库还支持对Word中的表格进行其他操作,如添加、删除、复制行或列、合并或拆分单元格等。更多示例demo可查看:

https://www.e-iceblue.cn/docforpython/spire-doc-for-python-program-guide-content.html

对于水印问题,可以点击申请临时授权移除,或者发送邮件到sales@e-iceblue.com。文章来源地址https://www.toymoban.com/news/detail-838523.html

到了这里,关于Python 在Word中创建表格并填入数据、图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • java导出word(含图片、表格)

    1.pom 引入 2.java代码示例 3.效果展示

    2024年02月07日
    浏览(47)
  • python自动化办公——定制化读取Excel数据并写入到word表格

    最近到了毕业设计答辩的时候,老师让我帮毕业生写一段毕业设计的功能就是提供一个 学士学位授予申请表 ,根据定制化需求,编写定制化代码。 docx格式的word如下图。 再提供一个Excel表格,要求可以直接读取表格里的对应内容,填入到word表格里的对应位置。表格是我自己

    2024年02月10日
    浏览(59)
  • vue导出word文档(含ECharts,多图片,表格等)

    package.json 安装文件包      1.导入插件包   2.初始化echarts图表时  将echarts图片转为base64格式(为后续导出准备)   3.导出echarts图片,格式转换,官方自带,不需要修改  4.导出word 具体实现方法(包含发邮件,上传到服务器) 5.word文档模板 效果图:       1.如果有将文件流

    2024年02月13日
    浏览(44)
  • Spire.doc实现对word的操作(包括文字,表格,图片)

    Spire.doc比较小众,因此需要在pom.xml中导入spire.doc的仓库,导入之后直接导包 导入仓库后进行导包 2.1.1模板 首先需要准备一个word模板,可以在里面进行文字替换,因为文字特别多,所以此处采用了对具有特殊符号的文字进行替换。此处采用 ${xxx} 模板如图所示: 2.1.2替换核心

    2023年04月12日
    浏览(52)
  • python创建word文档并向word中写数据

            python创建word文档需要用到docx库,安装命令如下:         注意,安装的是python-docx。         使用方法有很多,这里只介绍创建文档并向文档中写入数据。         存在一个csv文件,格式如下:         现在需要读取其中的username和content字段,并按照username和co

    2024年04月14日
    浏览(49)
  • 若依框架中使用FreeMarker使用word动态模板生成pdf给前端展示(模板中并没用使用到图片,所以没有图片的方法,只用了表格展示数据,模板里面只涉及到了循环判断和日期格式)

    首先使用word创建动态模板  下方两组信息是通过循环展示的,在生成模板时注意,如果不点击里面表格,选择居中表格打印出来可能还有偏差,两边距离页面拒了可能不一样 存储需要的模板时注意      存成这个格式,如果不是2003可能会有坑,找到你生成的.xml文件,把后缀改成ftl  

    2024年02月04日
    浏览(45)
  • 使用poi-tl向word插入图片、文本、表格行循环

    工作中难免会向word中操作数据,本文主要介绍poi-tl的使用,先来看效果图 核心介绍: 标签 1、插入文本标签 : {{var}} 2、插入图片标签: {{@var}} 操作步骤: 1、引入依赖 2、Java核心代码 官方网址:http://deepoove.com/poi-tl/ 1、准备模版,定义好需要的标签 2、查询模版 3、获取需要填

    2024年02月05日
    浏览(120)
  • VUE使用docxtemplater导出word(带图片) 踩坑 表格循环空格 ,canvas.toDataURL图片失真模糊问题

    参考:https://www.codetd.com/article/15219743 安装 关键代码JS部分 导出函数 vue 中引入上述js文件和方法 模板内容 自己准备一个docx文档,然后里面标注好需替换的参数 列表循环-- {#list}{name}{/list} 单个参数–{} 图片–{%imgUrl} 大概就这些,我也是从参考链接里看到的,至此基本能解决

    2024年02月15日
    浏览(47)
  • MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程

    要在MySQL中创建表格,请使用\\\"CREATE TABLE\\\"语句。 确保在创建连接时定义了数据库的名称。 示例创建一个名为 \\\"customers\\\" 的表格: 如果上述代码没有出现错误,那么您已成功创建了一个表格。 您可以通过使用\\\"SHOW TABLES\\\"语句列出数据库中的所有表格来检查表格是否存在: 示例返

    2024年02月05日
    浏览(52)
  • 用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日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包