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

Excel工作簿作为一款广泛使用的数据管理工具,与Python相结合,可以使得自动化处理大量数据成为可能。通过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单元格的值

在更新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单元格的值

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单元格的值。

申请免费License

相关推荐
云和数据.ChenGuang几秒前
Uvicorn 是 **Python 生态中用于运行异步 Web 应用的 ASGI 服务器**
服务器·前端·人工智能·python·机器学习
Hello.Reader1 分钟前
PyFlink Table API / DataStream API / UDF / 依赖管理 / 运行时模式一篇打通(含示例代码与避坑)
python·flink
DYS_房东的猫4 分钟前
《 C++ 零基础入门教程》第3章:结构体与类 —— 用面向对象组织代码
开发语言·c++
hui函数5 分钟前
Python系列Bug修复|如何解决 pip install -r requirements.txt 私有仓库认证失败 401 Unauthorized 问题
python·bug·pip
hui函数5 分钟前
Python系列Bug修复|如何解决 pip install -r requirements.txt 子目录可编辑安装缺少 pyproject.toml 问题
python·bug·pip
向量引擎7 分钟前
复刻“疯狂的鸽子”?用Python调用Sora2与Gemini-3-Pro实现全自动热点视频流水线(附源码解析)
开发语言·人工智能·python·gpt·ai·ai编程·api调用
郑泰科技10 分钟前
快速地图匹配(FMM)的开源工具与代码示例
c++·windows·python·交通物流
CoderCodingNo10 分钟前
【GESP】C++五级练习(贪心思想考点) luogu-P1115 最大子段和
开发语言·c++·算法
a程序小傲12 分钟前
得物Java面试被问:边缘计算的数据同步和计算卸载
java·开发语言·数据库·后端·面试·golang·边缘计算
云和数据.ChenGuang12 分钟前
fastapi flask django区别
人工智能·python·django·flask·fastapi