Python 创建或读取 Excel 文件

Excel是一种常用的电子表格软件,广泛应用于金融、商业和教育等领域。它提供了强大的数据处理和分析功能,可进行各种计算和公式运算,并能创建各种类型的图表和可视化数据。Excel的灵活性使其成为处理和管理数据的重要工具。本文将介绍如何使用 Spire.XLS for Python 通过代码创建Excel文件,以及读取Excel数据

目录

安装 Spire.XLS for Python 组件

用 Python 创建 Excel 文件

用 Python 读取 Excel 数据


安装 Spire.XLS for Python 组件

Spire.XLS for Python是一款第三方 Python Excel组件,可用于在各种 Python 平台创建、管理、操作及转换 Excel 文档。要安装此产品,使用以下 pip 命令:

pip install Spire.XLS-for-Python
pip install plum-dispatch==1.7.4

详细安装教程可参考: 如何在 VS Code中安装 Spire.XLS for Python

用 Python 创建 Excel 文件

Spire.XLS for Python 提供了各种各样的类、属性和方法可供开发人员对工作簿、工作表、某个单元格范围甚至指定的单元格进行操作。要创建一个Excel文件,并写入具体数据,可参考以下Python代码。

from spire.xls import *
from spire.common import *# 创建 Workbook 对象
wb = Workbook()# 删除默认工作表
wb.Worksheets.Clear()# 添加一个工作表并命名
sheet = wb.Worksheets.Add("销售表")# 合并 A1:G1 单元格
sheet.Range["A1:G1"].Merge()# 在 A1 中写入数据并设置其单元格样式
sheet.Range["A1"].Text = "销售明细表"
sheet.Range["A1"].HorizontalAlignment = HorizontalAlignType.Center
sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center
sheet.Range["A1"].Style.Font.IsBold = True
sheet.Range["A1"].Style.Font.Size = 13# 设置第一行的行高
sheet.Rows[0].RowHeight = 30# 将文本和数字写入指定的单元格
sheet.Range["A2"].Text = "订单编号"
sheet.Range["B2"].Text = "下单日期"
sheet.Range["C2"].Text = "客户名称"
sheet.Range["D2"].Text = "产品名称"
sheet.Range["E2"].Text = "订单金额"
sheet.Range["F2"].Text = "交货日期"
sheet.Range["G2"].Text = "订单状态"sheet.Range["A3"].Text = "DXA-001"
sheet.Range["B3"].Text = "2022/12/1"
sheet.Range["C3"].Text = "客户1"
sheet.Range["D3"].Text = "产品1"
sheet.Range["E3"].Text = "5000"
sheet.Range["F3"].Text = "2022/12/12"
sheet.Range["G3"].Text = "已完成"sheet.Range["A4"].Text = "DXA-002"
sheet.Range["B4"].Text = "2022/12/1"
sheet.Range["C4"].Text = "客户2"
sheet.Range["D4"].Text = "产品2"
sheet.Range["E4"].Text = "3000"
sheet.Range["F4"].Text = "2022/12/15"
sheet.Range["G4"].Text = "进行中"sheet.Range["A5"].Text = "DXA-003"
sheet.Range["B5"].Text = "2022/12/18"
sheet.Range["C5"].Text = "客户3"
sheet.Range["D5"].Text = "产品3"
sheet.Range["E5"].Text = "1500"
sheet.Range["F5"].Text = "2022/12/28"
sheet.Range["G5"].Text = "未完成"sheet.Range["A6"].Text = "DXA-004"
sheet.Range["B6"].Text = "2022/12/19"
sheet.Range["C6"].Text = "客户4"
sheet.Range["D6"].Text = "产品4"
sheet.Range["E6"].Text = "2500"
sheet.Range["F6"].Text = "2022/12/24"
sheet.Range["G6"].Text = "已取消"sheet.Range["A7"].Text = "DXA-005"
sheet.Range["B7"].Text = "2022/12/20"
sheet.Range["C7"].Text = "客户5"
sheet.Range["D7"].Text = "产品5"
sheet.Range["E7"].Text = "5000"
sheet.Range["F7"].Text = "2022/1/5"
sheet.Range["G7"].Text = "进行中"# 设置指定行的行高
sheet.Range["A2:G7"].RowHeight = 20# 设置指定列的列宽
sheet.SetColumnWidth(2, 11)
sheet.SetColumnWidth(3, 9)
sheet.SetColumnWidth(4, 8)
sheet.SetColumnWidth(6, 11)
sheet.SetColumnWidth(7, 10)# 设置指定单元格范围的边框样式
sheet.Range["A2:G7"].BorderAround(LineStyleType.Medium)
sheet.Range["A2:G7"].BorderInside(LineStyleType.Thin)
sheet.Range["A2:G2"].BorderAround(LineStyleType.Medium)
sheet.Range["A2:G7"].Borders.KnownColor = ExcelColors.Black# 设置指定单元格范围的单元格样式
sheet.Range["A2:G2"].Style.Color = Color.get_Gold()
sheet.Range["A2:G2"].Style.Font.IsBold = True# 保存文件
wb.SaveToFile("创建Excel.xlsx", FileFormat.Version2016)

生成文件:

用 Python 读取 Excel 数据

Spire.XLS for Python提供的 Worksheet.Range.Value 属性能以字符串形式返回指定单元格的数字值或文本值。要读取一个Excel工作表中的数据,可参考以下Python代码。

from spire.xls import *
from spire.common import *# 创建 Workbook 对象
wb = Workbook()# 加载一个Excel文件
wb.LoadFromFile("创建Excel.xlsx");# 获取第一个工作表
sheet = wb.Worksheets[0]# 获取包含数据的单元格区域
locatedRange = sheet.AllocatedRange# 遍历其中的行和列
for i in range(len(sheet.Rows)):for j in range(len(locatedRange.Rows[i].Columns)):# 获取单元格的数据print(locatedRange[i + 1, j + 1].Value + "  ", end='')print("")

返回结果:


此Python Excel库提供了各种Excel文档操作的示例代码,如编辑、转换Excel 文档以及插入图片、图表等元素。点击下载Spire.XLS for Python并解压缩后,可在 “Demos“ 文件夹中查看。

Spire.XLS for Python | 下载

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

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

相关文章

24---WPF缓存

一、什么是缓存: 1.缓存指的是将需要频繁访问的网络内容存放在离用户较近、访问速度更快的系统中,以提高内容访问速度的一种技术。缓存服务器就是存放频繁访问内容的服务器。 2.缓存就是一个临时存放区域--离用户比较近 二、作用--意义---如果系统出现故…

解决IDEA中SpringBoot项目创建多个子模块时配置文件小绿叶图标异常问题

在新建子模块下创建配置文件: 在子模块gateway中新建的配置文件,正常情况下配置文件左侧是小树叶标识,而这次新建application-dev.yml是个小树叶标识,bootstrap.yml是个方框。 看其他方案都是在project structure中设置,但未显示…

UWB安全数据通讯STS-加密、身份认证

DW3000系列才能支持UWB安全数据通讯,DW1000不支持 IEEE 802.15.4a没有数据通讯安全保护机制,IEEE 802.15.4z中指定的扩展得到增强(在PHY/RF级别):增添了一个重要特性“扰频时间戳序列(STS)”&a…

【TensorFlow1.X】系列学习笔记【基础一】

【TensorFlow1.X】系列学习笔记【基础一】 大量经典论文的算法均采用 TF 1.x 实现, 为了阅读方便, 同时加深对实现细节的理解, 需要 TF 1.x 的知识 文章目录 【TensorFlow1.X】系列学习笔记【基础一】前言线性回归非线性回归逻辑回归总结 前言 本篇博主将用最简洁的代码由浅入…

KubeSphere安装mysql8

需要持久化储存数据的,建立有状态服务。 无状态服务是不会持久化的,重启就归零 KubeSphere 创建自建应用后,创建有状态服务,但是自己应用的有状态服务不能外放端口,需要在服务哪里删除pod,在创建负载指定相…

Android Studio(2022.3.1)设置阿里云源-新旧版本

新版本 #settings.gradle.ktsmaven { url uri("https://maven.aliyun.com/repository/public/") }maven { url uri("https://maven.aliyun.com/repository/google/") }maven { url uri("https://maven.aliyun.com/repository/jcenter/") }ma…

【算法|动态规划No.29】leetcode132. 分割回文串 II

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

vue3+vite中使用Lottie动画

Lottie通过读取json文件信息实现动画效果 官方文档 Lottie官网 lottie库有众多动画 选择下载Lottie JSON到项目中 安装Lottie包 pnpm add lottie-web 模板创建 <template><div class"bg"><div id"canvas" class"canvas" ref&quo…

react antd实现upload上传文件前form校验,同时请求带data

最近的需求&#xff0c;两个下拉框是必填项&#xff0c;点击上传按钮&#xff0c;如果有下拉框没选要有提示&#xff0c;如图 如果直接使用antd的Upload组件&#xff0c;一点击文件选择的窗口就打开了&#xff0c;哪怕在Button里再加点击事件&#xff0c;也只是&#xff08;几乎…

MyBatisPlus实现连表操作、批量处理

1、实现连表查询 正常来说单靠mybatisplus无法实现连表查询&#xff0c;只能靠单表sql然后进行拼接形成连表查询&#xff0c;或者使用xml文件去编写sql语句来实现连表查询。但他又给我们提供了一个插件MyBatis-Plus-Join&#xff0c;用来弥补mybatisplus再连表上的不足&#…

那些你面试必须知道的webpack知识点

目录 1、webpack介绍和简单使用1.1 什么是webpack&#xff1f;1.2 安装webpack1.3 简单使用一下webpack 2、webpack的入口与输出2.1 入口(entry)2.2 输出(output) 3、入口多种配置方法3.1 多文件打包成一个文件3.2 多文件打包成多文件 4、loader的概念5、压缩打包HTML5.1 使用步…

用 pytorch 训练端对端验证码识别神经网络并进行 C++ 移植

文章目录 前言安装安装 pytorch安装 libtorch安装 opencv&#xff08;C&#xff09; 准备数据集获取训练数据下载标定 编码预分析 数据集封装格式 神经网络搭建神经网络训练神经网络测试神经网络预测C 移植模型转换通过跟踪转换为 Torch Script通过注解转换为 Torch Script 编写…

【工具】SecureCR-8.5下载、安装激活和使用教程

起初我参考的文章&#xff1a;【工具】SecureCR-8.5下载、安装激活和使用教程&#xff08;包含常用设置&#xff09;_securecrt激活_SecureCode的博客-CSDN博客 但是不行啊&#xff0c;执行到13步的时候报错&#xff1a; 问了作者也没有回应&#xff0c;直到我参考了&#xff…

神经网络的发展历史

神经网络的发展历史可以追溯到上世纪的数学理论和生物学研究。以下是神经网络发展史的详细概述&#xff1a; 1. 早期的神经元模型&#xff1a; 1943年&#xff0c;Warren McCulloch和Walter Pitts提出了一种神经元模型&#xff0c;被称为MCP神经元模型&#xff0c;它模拟了生…

车载视频如何转换视频格式

当你收集了多种视频想在车内进行播放&#xff0c;它们可能不会自动播放。你有可能会在屏幕上看到一条消息&#xff0c;显示“文件格式不受支持”&#xff0c;这是因为这些视频可能采用了你的汽车无法识别的格式。 那我们如何才可以转换为车载播放器上运行的最重要且最广泛使用…

Yakit工具篇:专项漏洞检测的配置和使用

简介&#xff08;来自官方文档&#xff09; 专项漏洞检测是针对特定应用程序或系统进行的安全漏洞扫描技术&#xff0c;旨在检测与该应用程序或系统相关的安全漏洞。 Yakit通过对常见的中间件、CMS、框架、组件进行总结、归纳&#xff0c;并针对这些组件对其常见的高危漏洞进…

IP协议(上)

目录 一、初步认识IP协议 二、认识IP地址 三、协议报头格式 1.报头和有效载荷分离 2.20字节的固定数据 四、网段划分 1.一个小例子 2.认识IP地址的划分 3.数据的传输过程 4.特殊的IP地址 5.通信运营商 &#xff08;1&#xff09;通信运营商的作用 &#xff08;2&a…

Spring Security认证架构介绍

在之前的Spring Security&#xff1a;总体架构中&#xff0c;我们讲到Spring Security整个架构是通过Bean容器和Servlet容器对过滤器的支持来实现的。我们将从过滤器出发介绍Spring Security的Servlet类型的认证架构。 1.AbstractAuthenticationProcessingFilter AbstractAut…

Day6力扣打卡

打卡记录 统计无向图中无法互相到达点对数&#xff08;并查集 / DFS&#xff09; 链接 并查集 思路&#xff1a;用并查集将连通区域的连在一起&#xff0c;再遍历所有点&#xff0c;用hash表存储不同连通块的元素个数&#xff0c;然后 乘积和 便是答案。 注意&#xff1a; /…