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.Middleparagraph = headerRow.Cells[i].AddParagraph()paragraph.Format.HorizontalAlignment = HorizontalAlignment.CentertxtRange = paragraph.AppendText(header_data[i])txtRange.CharacterFormat.Bold = TruetxtRange.CharacterFormat.FontSize = 12i += 1# 将数据填入其余各行并设置文本格式
r = 0
while r < len(row_data):dataRow = table.Rows[r + 1]dataRow.Height = 20dataRow.HeightType = TableRowHeightType.Exactlyc = 0while c < len(row_data[r]):dataRow.Cells[c].CellFormat.VerticalAlignment = VerticalAlignment.Middleparagraph = dataRow.Cells[c].AddParagraph()paragraph.Format.HorizontalAlignment = HorizontalAlignment.CentertxtRange =  paragraph.AppendText(row_data[r][c])txtRange.CharacterFormat.FontSize = 11c += 1r += 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 = 80cell = 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可查看:

Spire.Doc for Python 中文教程Spire.Doc for Python 是一款专业的 Python Word 开发组件,开发人员可以使用它轻松将 Word 文档的创建、读取、编辑和转换等功能集成到自己的 Python 应用程序中。作为一款完全独立的组件,Spire.Doc for Python 的运行环境无需安装 Microso...icon-default.png?t=N7T8https://www.e-iceblue.cn/docforpython/spire-doc-for-python-program-guide-content.html

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/487211.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【更新】ARCGIS之成片区开发方案报备坐标txt格式批量导出工具(定制开发版)

序言 之前开发的成片区开发方案报备格式是按湖北省的标准定制的&#xff0c;目前&#xff0c;自然资源部又有了新的格式要求&#xff0c;现在新增国标版的成片区开发方案报备格式导出。 之前版本软件详见&#xff1a;软件介绍 一、软件简介 本软件是基于arcgis二次开发的工具&…

蜂窝物联网咖WiFi认证解决方案

项目背景 随着目前网咖模式越来越流行&#xff0c;给网吧部署一套无缝漫游的WIFI网络势在必行。同时&#xff0c;网吧无线准入的验证码在客户机上面进行更新&#xff0c;以防周边的人员进行蹭网&#xff0c;损失网吧的外网带宽。 01 需求分析 1. 网吧服务区域全部覆盖无盲区…

分享一个我爱工具网源码优化版

应用介绍 本文来自&#xff1a;分享一个我爱工具网源码优化版 - 源码1688 前几天在网上看到了一个不错的工具网源码&#xff0c;但是源码存在一些问题&#xff0c;遂进行了修改优化。 主要修改内容有&#xff1a; 1、后台改为账号密码登录&#xff0c;上传即用&#xff0c;不…

如何将建筑白模叠加到三维地球上?

​ 通过以下方法可以将建筑白模叠加到三维地球上。 方法/步骤 下载三维地图浏览器 http://www.geosaas.com/download/map3dbrowser.exe&#xff0c;安装完成后桌面上出现”三维地图浏览器“图标。 2、双击桌面图标打开”三维地图浏览器“ 3、点击“建筑白模”菜单&…

云图极速版限时免费活动

产品介绍 云图极速版是针对拥有攻击面管理需求的用户打造的 SaaS 应用&#xff0c;致力于协助用户发现并管理互联网资产攻击面。 实战数据 (2023.11.6 - 2024.2.23) 云图极速版上线 3 个月以来&#xff0c;接入用户 3,563 家&#xff0c;扫描主体 19,961 个&#xff0c;累计发…

【Python笔记-设计模式】装饰器模式

一、说明 装饰器模式是一种结构型设计模式&#xff0c;旨在动态的给一个对象添加额外的职责。 (一) 解决问题 不改变原有对象结构的情况下&#xff0c;动态地给对象添加新的功能或职责&#xff0c;实现透明地对对象进行功能的扩展。 (二) 使用场景 如果用继承来扩展对象行…

linux服务器tomcat日志中文出现问号乱码

目录 一、场景二、排查三、原因四、解决 一、场景 tomcat日志的中文出现问号乱码 乱码示例 ??[377995738417729536]????????? ac??????????????message:二、排查 1、使用locale命令查看服务器当前使用的语言包 发现只用的语言包为utf-8&#xff0…

SpringBoot项目实现文件上传,MINIO+OSS阿里云

MINIO 安装以及部署 官网&#xff1a;MinIO | Code and downloads to create high performance object storage 下载后是一个minio.exe的文件&#xff0c;可以先创一个文件夹来存放数据以及文件 在文件的目录下cmd进入控制台 minio.exe server data 启动成功后控制台会打印账…

opencv判断二值的情况

目的 先说说理论&#xff1a; 什么叫图像的二值化&#xff1f;二值化就是让图像的像素点矩阵中的每个像素点的灰度值为0&#xff08;黑色&#xff09;或者255&#xff08;白色&#xff09;&#xff0c;也就是让整个图像呈现只有黑和白的效果。在灰度化的图像中灰度值的范围为0…

C# OpenVINO 百度PaddleSeg实时人像抠图PP-MattingV2

目录 效果 项目 代码 下载 C# OpenVINO 百度PaddleSeg实时人像抠图PP-MattingV2 效果 项目 代码 using OpenCvSharp; using Sdcb.OpenVINO; using System; using System.Diagnostics; using System.Drawing; using System.Security.Cryptography; using System.Text; us…

C# winfroms使用socket客户端服务端代码详解

文章目录 1️⃣ 通信相关说明1.1服务端与客户端1.2 信息发送原理1.3 信息接收原理 2️⃣ socket代码2.1 客户端代码2.2 服务端代码 3️⃣ 定时任务处理报文3.1 Timers定时任务 优质资源分享 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_4315141…

ChatGPT plus 的平替:9个可以联网的免费AI搜索引擎

ChatGPT plus 的平替&#xff1a;9个可以联网的免费AI搜索引擎。 由于ChatGPT 训练数据截止到2021年9月&#xff0c;在该时间点之后发生的事件&#xff0c;ChatGPT均无法给出答复。所以&#xff0c;大家现在都非常期待ChatGPT能够联网&#xff0c;访问实时的信息。 ChatGPT pl…