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

ops/2024/11/2 4:47:50/

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. 释放资源。

代码示例

python">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. 释放资源。

代码示例

python">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. 释放资源。

代码示例

python">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


http://www.ppmy.cn/ops/130333.html

相关文章

vue3父子组件传值,子组件暴漏方法

1.父传子 defineProps 父组件直接通过属性绑定的方式给子组件绑定数据&#xff0c;子组件通过defineProps接收函数接收 其中v-model是完成事件绑定和事件监听的语法糖。v-model算是v-bind和v-on的简洁写法&#xff0c;等价于 <c-input ref"inputRef" :modelValue…

GPT-4V 是什么?

GPT-4V 是一种能够“看图说话”的人工智能。传统的聊天机器人只能理解文字&#xff0c;而 GPT-4V 不仅能理解文字&#xff0c;还能看图&#xff0c;并回答跟图片相关的问题。 用简单的例子解释&#xff1a; 假设你给 GPT-4V 发一张图片&#xff0c;它能描述出图片里有什么&am…

【ROS2】hbm_img_msgs/msg/HbmMsg1080P 转 opencv cv::Mat

1、简述 在ROS2中处理图像时,经常会用的OpenCV,因此常常会涉及到ROS2话题和cv::Mat的转换 ROS2内置消息 sensor_msgs::msg::Image 可以使用 cv_bridge 转换成 OpenCV的 cv::Mat。 参见博客:【ROS2】cv_bridge:ROS图像消息和OpenCV的cv::Mat格式转换库 在使用地平线X3派时…

Java面试经典 150 题.P122. 买卖股票的最佳时机 II(008)

本题来自&#xff1a;力扣-面试经典 150 题 面试经典 150 题 - 学习计划 - 力扣&#xff08;LeetCode&#xff09;全球极客挚爱的技术成长平台https://leetcode.cn/studyplan/top-interview-150/ 题解&#xff1a; class Solution {public int maxProfit(int[] prices) {int…

D-ID 推出能模仿用户的头部动作以及实时互动的 AI 头像

D-ID 宣布推出两种新型 AI 头像 — — Express 和 Premium&#xff0c;旨在提升内容创作的灵活性和人性化。这些头像将为企业在营销、销售和客户支持等领域的视频制作提供便利。用户只需少量文本输入和视觉数据&#xff0c;即可生成更自然的商业视频。 Express 头像可以通过约一…

js实现异步和延时

说明&#xff1a;最近碰到几个需求&#xff0c; 1.使用js实现延时几秒&#xff0c;执行代码的操作 setTimeout 2.使用js实现子线程执行耗时操作&#xff0c;主线程不需要等待子线程任务执行完成&#xff0c;子线程的任务执行完成后&#xff0c;把执行结果回调给主线程&#xff…

BES2600WM---HiLink RM56 EVK

0 Preface/Foreword 0.1 路径 OpenHarmony/device_soc_bestechnic - 码云 - 开源中国 https://github.com/Hi-LinkDuino/RM56 1 环境搭建 1.1 安装依赖工具 sudo apt-get install build-essential gcc g make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc ope…

Linux 进程间通信——管道

目录 0.前言 1. 进程间通信简介 1.1 进程间通信目的 1.2 进程间通信分类 2.匿名管道 2.1什么是管道 2.2一段匿名管道的示例代码 2.3代码解读 2.4 匿名管道运行时的四种情况 2.5 匿名管道的特性 2.6 从文件描述符和内核角度理解管道 3.命名管道 3.1命名管道的原理 3.2命名管道的…