用Python设置、更新和获取Excel单元格的值

Excel工作簿作为一款广泛使用的数据管理工具,与Python相结合,可以使得自动化处理大量数据成为可能。通过Python来设置、更新以及读取Excel单元格的值,不仅可以极大地提高工作效率,减少重复劳动,还能增强数据处理流程的灵活性与可扩展性,进而创造更多价值。这种方法的应用场景从财务报表自动化到数据分析报告的生成,在各种工作领域都可以带来很大的效率提升。本文将演示如何使用Python设置、更新以及获取Excel文件中单元格的值

文章目录

    • 使用Python设置Excel单元格的值
    • 使用Python更新Excel单元格的值
    • 使用Python获取Excel单元格的值

本文所使用的方法需要用到Spire.XLS for Python,PyPI:pip install spire.xls

使用Python设置Excel单元格的值

我们可以使用库中的Worksheet.Range.get_Item()方法来获取Excel工作表中的指定单元格为CellRange对象,如Range.get_Item(2, 1)Range.get_Item("A2")(第二行第一列)。然后,我们可以CellRange.Value属性来设置单元格的值,或使用该类下的其他属性来设置单元格文本、数字、布尔值以及其他类型的值。同时,我们还可以使用CellRange类下的格式设置相关属性来设置单元格的格式等。以下是操作步骤示例:

  1. 导入所需模块:WorkbookFileFormatDateTimeHorizontalAlignType
  2. 创建Workbook对象。
  3. 使用Workbook.Worksheets.Clear()方法清除默认工作表,并使用Workbook.Worksheets.Add(sheetName: str)方法新建一个工作表。
  4. 使用Worksheet.Range.get_Item()方法获取指定单元格为CellRange对象。
  5. 使用CellRange对象下的属性设置单元格值,如TextValueDataTimeValueFormulaNumberValue属性。
  6. 设置单元格格式。
  7. 使用Workbook.SaveToFile()方法保存工作簿。
  8. 释放资源。

代码示例

from spire.xls import Workbook, FileFormat, DateTime, HorizontalAlignType
import datetime

# 创建Workbook的实例从而创建一个Excel工作簿
workbook = Workbook()

# 清除默认工作表并添加一个新工作表
workbook.Worksheets.Clear()
sheet = workbook.Worksheets.Add("Sheet1")

# 获取一个单元格并设置文本
cell = sheet.Range.get_Item(2, 2)
cell.Text = "文本示例"

# 获取一个单元格并设置普通值
cell1 = sheet.Range.get_Item(3, 2)
cell1.Value = "$123456"

# 获取一个单元格并设置日期值
cell2 = sheet.Range.get_Item(4, 2)
cell2.DateTimeValue = DateTime.get_Now()

# 获取一个单元格并设置布尔值
cell3 = sheet.Range.get_Item(5, 2)
cell3.BooleanValue = True

# 获取一个单元格并设置公式
cell4 = sheet.Range.get_Item(6, 2)
cell4.Formula = "=SUM(B7)"

# 获取一个单元格并设置数字值及数字格式
cell5 = sheet.Range.get_Item(7, 2)
cell5.NumberValue = 123456
cell5.NumberFormat = "#,##0.00"

# 获取一个单元格并设置公式数组
cell6 = sheet.Range.get_Item(8, 2)
cell6.HtmlString = "<p><span style='color: blue; font-size: 18px;'>蓝色字体18像素大小</span></p>"

# 设置格式
cellRange = sheet.Range.get_Item(2, 2, 7, 2)
cellRange.Style.Font.FontName = "Arial"
cellRange.Style.Font.Size = 14
cellRange.Style.HorizontalAlignment = HorizontalAlignType.Left

# 自动调整列宽
sheet.AutoFitColumn(2)

# 保存文件
workbook.SaveToFile("output/SetExcelCellValue.xlsx", FileFormat.Version2016)
workbook.Dispose()

结果
Python设置Excel单元格的值

使用Python更新Excel单元格的值

在更新Excel单元格的值时,我们可以直接获取相应的单元格并使用上述设置值的方法重新设置值,从而实现对单元格的值的更新。以下是操作步骤示例:

  1. 导入所需模块:Workbook
  2. 创建Workbook对象。
  3. 使用Workbook.LoadFromFile()方法载入Excel文件。
  4. 使用Workbook.Worksheets.get_Item()方法获取工作表。
  5. 使用Worksheet.Range.get_Item()方法获取单元格。
  6. 使用CellRange类下的方法重新设置单元格的值。
  7. 使用Workbook.SaveToFile()方法保存工作簿。
  8. 释放资源。

代码示例

from spire.xls import Workbook

# 创建一个Workbook实例
workbook = Workbook()

# 载入Excel文件
workbook.LoadFromFile("output/SetExcelCellValue.xlsx")

# 获取一个工作表
sheet = workbook.Worksheets.get_Item(0)

# 获取一个单元格
cell = sheet.Range.get_Item(2, 2)

# 更改单元格值
cell.NumberValue = 45150
cell.NumberFormat = "[Green]#,##0;[RED]-#,##0"

# 保存工作簿
workbook.SaveToFile("output/UpdateExcelCellValue.xlsx")
workbook.Dispose()

结果
Python更新Excel单元格的值

使用Python获取Excel单元格的值

CellRange.Value属性可以直接读取到单元格的。以下是读取Excel单元格的值的操作步骤示例:

  1. 导入所需模块:Workbook
  2. 创建Workbook对象。
  3. 使用Workbook.LoadFromFile()方法载入Excel文件。
  4. 使用Workbook.Worksheets.get_Item()方法获取工作表。
  5. 遍历指定范围内的单元格,使用CellRange.Value属性获取单元格的值。
  6. 输出结果。
  7. 释放资源。

代码示例

from spire.xls import Workbook

# 创建一个Workbook实例
workbook = Workbook()

# 载入Excel文件
workbook.LoadFromFile("output/SetExcelCellValue.xlsx")

# 获取一个工作表
sheet = workbook.Worksheets.get_Item(0)

# 遍历第2列第2行到第8行的单元格
for i in range(2, 8):
    # 获取单元格
    cell = sheet.Range.get_Item(i, 2)
    # 获取单元格的值
    value = cell.Value
    # 输出值
    print(value)
workbook.Dispose()

结果
Python获取Excel单元格的值

本文演示了如何使用Python设置、更新及获取Excel单元格的值。

申请免费License

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第525题连续数组

题目&#xff1a; 题解&#xff1a; func findMaxLength(nums []int) (maxLength int) {mp : map[int]int{0: -1}counter : 0for i, num : range nums {if num 1 {counter} else {counter--}if prevIndex, has : mp[counter]; has {maxLength max(maxLength, i-prevIndex)} …

提升网站安全性 HTTPS的重要性与应用指南

内容概要 在如今数字化快速发展的时代&#xff0c;网站安全显得尤为重要。许多用户在访问网站时&#xff0c;尤其是涉及个人信息或金融交易时&#xff0c;对数据传输的安全性有着高度的关注。HTTPS&#xff08;超文本传输安全协议&#xff09;正是为了满足这种需求而诞生的。通…

DICOM标准:解析DICOM属性中的病人模块

目录 病人模块概述 1. 病人关系模块&#xff08;Patient Relationship Module&#xff09; 2. 病人识别模块&#xff08;Patient Identification Module&#xff09; 3. 病人统计模块&#xff08;Patient Demographic Module&#xff09; 4. 病人医学模块&#xff08;Pati…

编写高性能爬虫抓取股票行情数据

最近给一个私募大佬帮忙做了一些股票交易有关的系统&#xff0c;其中涉及到行情数据抓取的问题&#xff0c;一番摸索之后&#xff0c;把成果在这里做个分享。 我把行情抓取的部分&#xff0c;和一个写手记的小功能&#xff0c;单独拿了出来放在一个小系统里面&#xff0c;可以…

人像摄影笔记(自用)

相机的原理&#xff1a;镜头--CMOS传感器---通过ISP的计算 然后通过手机的GPU处理后呈现出图片的形式 镜头&#xff1a;定焦和变焦&#xff0c;变焦分为光学变焦和数字变焦 光学变焦&#xff1a;焦距变了 画质不变 数字变焦&#xff1a;焦距不变 裁剪画质 数字变焦一…

前端埋点与监控最佳实践:从基础到全流程实现.

前端埋点与监控最佳实践&#xff1a;从基础到全流程实现 大纲 我们会从以下三个方向来讲解埋点与监控的知识&#xff1a; 什么是埋点&#xff1f;什么是监控&#xff1f; JS 中实现监控的核心方案 写一个“相对”完整的监控实例 一、什么是埋点&#xff1f;什么是监控&am…

电能质量治理产品在分布式光伏电站的应用

1.概述 随着全球对可再生能源需求的不断增长&#xff0c;分布式光伏电站的建设与扩张正迅速发展。然而&#xff0c;在其运行过程中&#xff0c;分布式光伏电站遭遇了一系列挑战&#xff0c;包括企业关口计量点功率因数降低和谐波污染等问题。这些问题不仅影响了光伏电站的运行…

遥感图像Trento原始数据集下载

遥感图像Trento原始数据集下载 偶然间在某个项目里发现了Trento的完整数据集&#xff0c;不过那个数据集有些奇怪的小改动 虽然我已经不做遥感方向了&#xff0c;不过当初我找这个数据集也是花了很长时间 于是重新整理了一下&#xff0c;就当是方便后来的研究者使用吧 githu…

GenAI 生态系统现状:不止大语言模型和向量数据库

自 20 个月前 ChatGPT 革命性的推出以来&#xff0c;生成式人工智能&#xff08;GenAI&#xff09;领域经历了显著的发展和创新。最初&#xff0c;大语言模型&#xff08;LLMs&#xff09;和向量数据库吸引了最多的关注。然而&#xff0c;GenAI 生态系统远不止这两个部分&#…

个人应用接入使用阿里云盘和百度网盘

一、阿里云盘 官方文档接入流程 语雀流程概述服务端 API 调用流程如下图所示1. 创建账...https://www.yuque.com/aliyundrive/zpfszx/btw0tw 1. 接入授权 1.1. App Key、App Secret和用户授权验证 在通过网盘开发者认证之后&#xff0c;创建个人应用会生成APP ID&#xff…

医院信息化与智能化系统(15)

医院信息化与智能化系统(15) 这里只描述对应过程&#xff0c;和可能遇到的问题及解决办法以及对应的参考链接&#xff0c;并不会直接每一步详细配置 如果你想通过文字描述或代码画流程图&#xff0c;可以试试PlantUML&#xff0c;告诉GPT你的文件结构&#xff0c;让他给你对应…

从比亚迪超越特斯拉,看颠覆全球市场的中国力量

这是比亚迪CEO王传福早年在日本调研电池供应链时发出的感慨。 那时的人们谁也没有想到&#xff0c;比亚迪会从深圳的一家普通的电池供应商开始做起&#xff0c;拼出一条属于自己的“血路”&#xff0c;摇身一变成为名副其实的“电车之王”&#xff0c;并让全球车企仰望。 比亚…

3d 添加辅助坐标器和轨道控制器

1.添加辅助坐标器 使用AxesHelper类来添加坐标轴辅助器&#xff0c;辅助器简单模拟3个坐标轴的对象。红色代表X轴&#xff0c;绿色代表Y轴&#xff0c;蓝色代表Z轴。 // 创建坐标轴辅助器&#xff0c;5是坐标轴的长度 const axesHelper new THREE.AxesHelper(5); // 将坐标轴…

「C/C++」C++标准库之#include<fstream>文件流

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

计算机后台服务-更新下载,重启————未来之窗行业应用跨平台架构

一在教育中应用 1. 提高效率&#xff1a;能够快速收集大量学生的卷子&#xff0c;节省了传统人工收集和整理的时间。 2. 准确性&#xff1a;减少了人工收卷过程中可能出现的错漏和混乱&#xff0c;确保每份卷子都能准确无误地被收集和记录。 3. 即时性&#xff1a;可以实时接收…

奥数与C++小学四年级(第十八题 小球重量)

参考程序代码&#xff1a; #include <iostream> #include <vector>int main() {// 小球的重量std::vector<int> weights {1, 2, 3, 4, 5};// 用来存储可能的结果int a, b, c, d, e, x;// 穷举所有可能的 a, b, c, d, e 的组合for (int i 0; i < weight…

Android启动流程_Init阶段

前言 本文将会介绍 Android 启动流程&#xff0c;将基于 Android 10 代码逻辑介绍原生启动过程。 bootloader 上电 -> 加载 recovery 镜像或者 boot 镜像 -> linux kernel 启动 -> 加载 init 进程 -> 加载 zygote 进程 -> systemserver 进程 -> 系统启动 …

线上3D看车有何优势?

随着Web3D展示技术的不断革新&#xff0c;线上3D看车正逐步成为消费者购车的新选择。这种创新的展示方式不仅提供了更真实、更有趣的互动体验&#xff0c;还带来了诸多优势&#xff0c;让购车过程变得更加便捷、高效。 一、更真实的展示效果 相较于传统的图片和文字描述&…

OpenCv —— 为opencv支持中文,将freetype2库编译进opencv中(附详细编译流程、测试代码)

效果(下面摄像头视频过于老旧 视频效果不好;但文字可添加。) 背景 由于OpenCV本身不支持中文显示,开发者需要借助其他库来实现这一功能。 OpenCV的contrib版本中包含了freetype库,可以通过编译opencv-contrib模块来支持中文显示。这种方法需要在编译OpenCV时特别配置,确保…

打印直角三角形

今天给大家分享一个打印直角三角形的方法 其实直角三角形在终端中的显示是又空格和星号组成的 只要将其看成一个矩形&#xff0c;并找出两者规律便可实现&#xff08;与打印菱形有一定相似的理解&#xff09;&#xff0c;下面我们来分享一个更简便的方法 它的规律是行和列之和…