在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库还提供了接口设置单元格样式等。

输出结果:

代码示例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() 方法插入图片。

输出结果:


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

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

对于水印问题,可以点击申请临时授权移除,或者发送邮件到sales@e-iceblue.com。

Python 在Word中创建表格并填入数据、图片的更多相关文章

  1. Python 读取word中表格数据、读取word修改并保存、替换word中词汇、读取word中每段内容,读取一段话中相同样式内容,理解Document中run

    from docx import Document path = r'D:\pywork\12' # word信息表所在文件夹 w = Document(path + '/' + 'word信息表.d ...

  2. word模板导出的几种方式:第一种:占位符替换模板导出(只适用于word中含有表格形式的)

    1.占位符替换模板导出(只适用于word中含有表格形式的): /// <summary> /// 使用替换模板进行到处word文件 /// </summary> public ...

  3. 教你如何将word中的表格完美粘贴到ppt中

    经常操作办公软件的人一定有一个困惑,ppt本身表格编辑能力似乎很弱,如果从word里直接将一个编辑好的表格复制粘贴到ppt中,整个表格一定会发生让你没有预料的变化,还得重新花老大的劲去重新编辑,有人屛 ...

  4. 如何通过Java代码在Word中创建可填充表单

    有时候,我们需要制作一个Word模板文档,然后发给用户填写,但我们希望用户只能在指定位置填写内容,其他内容不允许编辑和修改.这时候我们就可以通过表单控件来轻松实现这一功能.本文将为您介绍如何通过Jav ...

  5. word中创建文本框

    word中创建文本框         在插入中点击"文本框"选项卡,例如以下图所看到的:        手工加入自己想要的文本框格式,然后选择所创建的文本框,在工具栏处会发现多了一 ...

  6. C# 如何在PDF文档中创建表格

    表格能够直观的传达数据信息,使信息显得条理化,便于阅读同时也利于管理.那在PDF类型的文档中如何来添加表格并且对表格进行格式化操作呢?使用常规方法直接在PDF中添加表格行不通,那我们可以在借助第三方组 ...

  7. Delphi读取不Word中不规则表格数据并转换成标准表格

    程序需要,需要将word中不规则的表格数据转换为标准的表格,即合并的单元格按正常格式解析,word中的表格格式如下: 解析后数据如下: 借鉴了网上代码,如下处理: procedure TfrmMain ...

  8. Java 在Word中创建多级项目符号列表和编号列表

    本文分享通过Java程序代码在Word中创建多级项目符号列表和编号列表的方法.程序运行环境如下: IntelliJ IDEA 2018(JDK 1.8.0) Word 2013 Word Jar包:F ...

  9. C# 在Word中添加表格的方法

    表格是组织整理数据的一种重要手段,应在生活中的方方面面.在Word文档中将繁杂的文字表述内容表格化,能快速.直接地获取关键内容信息.那么,通过C#,我们也可以在Word文档中添加表格,这里将介绍两种不 ...

  10. VB.net中合并word中的表格

    软帝国产品的互兼容性使得我们采用vb.net编程语言操作Microsoft Word文档变得相当容易.针对本文的主题,网络上已经有很多大牛博客做了详细的介绍,基本的我就不再赘述,只是自己在做项目的时候 ...

随机推荐

  1. trick1---实现tensorflow和pytorch迁移环境教学

    相关文章: [一]tensorflow安装.常用python镜像源.tensorflow 深度学习强化学习教学 [二]tensorflow调试报错.tensorflow 深度学习强化学习教学 [三]t ...

  2. 在package.json里面配置npx

    1.配置这个npx表示打包的时候选择本地node_modules安装的webpack来打包

  3. Linux虚拟机追加扩展磁盘

    一.使用VMware给虚拟机追加磁盘 使用VMware打开虚拟机设置对话框,选择硬盘,点击右侧的扩展按钮,输入扩展后的磁盘容量. 点击扩展按钮.提示磁盘已成功扩展. 二.对闲置的空间进行分区 上面扩展 ...

  4. 华硕ROG Zenith Extreme Alpha主板评测:主板界的航空母舰

    在AMD推第一代锐龙线程撕裂者的时期,华硕ROG Zenith Extreme主板凭借给力的用料,各种便利的超频设计,出色的SupermeFX音效还有万兆网卡赢得了不少用户的好评.现在AMD推出了第二 ...

  5. Windows更换笔记本电脑需要迁移和删除的内容清单

    一.需要迁移的内容清单 1.桌面和磁盘中重要的文件或者文件夹 2.chrome.Edge等浏览器的书签,可以导出 3.常用的软件安装包 (1).输入法(百度.或者搜狗) (2).浏览器(Chrome浏 ...

  6. 测距工具部分情况下无效的问题解决 - 高德JSAPI

    最近项目中新增了一个需求是在地图上新增一个测距工具,方便看一下距离 高德官方本身自带了有一个测距工具类的 RangingTool ,以插件的方式引入即可 问题一: 如果地图上有覆盖物的话(我这是 po ...

  7. 查看调整cpu频率及模式

    使用cpufrequtils查看调整cpu频率及模式 cpufrequtils是一个查看和修改CPU频率GHz的工具 有些物理服务器使用默认频率进行运行,这时可以使用该工具进行就该CPU的核心频率 安 ...

  8. Keil MDK STM32系列(十) Ubuntu下的PlatformIO开发环境

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  9. Springboot+LayUI实现一个简易评论系统

    说明 这是个简单的评论系统,目的在于介绍简单的评论和回复功能.同时基于此可以扩展更全面的.自定义的评论系统,本工程仅供学习交流使用.喜欢的朋友给个赞:) 源码 https://gitee.com/in ...

  10. Java压缩和解压缩zip文件

    介绍 Java提供的java.util.zip包只支持zip和gzip.至于更多格式的压缩可以选择apache的Commons Compress. 参考:https://o7planning.org/ ...