excel 工作簿作为一种广泛使用的数据管理工具,可以与 python 相结合,实现大规模数据处理的自动化。通过 python 设置、更新和读取 excel 中的单元格值,可以显著提升工作效率,减少重复性任务,同时增强数据处理流程的灵活性和可扩展性,从而创造更多的附加价值。该方法适用于多个领域,从自动化生成财务报表到数据分析报告,都能在不同工作场景中大幅提高生产力。
本文将演示怎样使用 spire.xls for python 设置、更新和获取 excel 文件中单元格的值。
安装 spire.xls for python
本方案需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它轻松安装到 windows 中。
pip install spire.xls
如果您不清楚如何安装,请参考此教程: 如何在 windows 中安装 spire.xls for python
python 设置 excel 文件中单元格的值
我们可以使用 spire.xls for python 提供的 worksheet.range.get_item() 方法,从 excel 工作表中获取指定的单元格,并返回为 cellrange 对象。例如,可以使用 range.get_item(2, 1) 或 range.get_item("a2")(对应第 2 行,第 1 列)来获取单元格。接着,通过 cellrange.value 属性设置单元格的值,或者使用该类中的其它属性来设置文本、数字、布尔值等类型的数据。以下是具体操作的示例:
- 创建一个 workbook 类的对象。
- 通过 workbook.worksheets.get_item() 方法获取第一个默认工作表。
- 使用 worksheet.range.get_item() 方法将指定的单元格获取为 cellrange 对象。
- 使用 cellrange 类中的属性,例如 text、value、datetimevalue、formula 和 numbervalue,来设置单元格的值。
- 格式化单元格。
- 使用 workbook.savetofile() 方法保存工作簿。
- python
from spire.xls import workbook, fileformat, datetime, horizontalaligntype
import datetime
# 创建一个 workbook 对象
workbook = workbook()
# 获取第一个默认工作表
sheet = workbook.worksheets.get_item(0)
# 获取单元格并设置文本
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 = "blue font 18 pixel size
"
# 设置格式
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("/设置单元格的值.xlsx", fileformat.version2016)
workbook.dispose()
python 更新 excel 文件中单元格的值
要更新 excel 中的单元格的值,可以先获取需要更新的单元格,然后使用与上述相同的方法重新设置其值,从而完成更新操作。以下是具体步骤示例:
- 创建一个 workbook 类的对象。
- 通过 workbook.loadfromfile() 方法加载一个 excel 文件。
- 使用 workbook.worksheets.get_item() 方法获取一个工作表。
- 通过 worksheet.range.get_item() 方法找到需要更新值的单元格。
- 使用 cellrange 类下的属性重新设置单元格的值。
- 利用 workbook.savetofile() 方法保存工作簿。
- python
from spire.xls import workbook
# 创建一个 workbook 类的对象
workbook = workbook()
# 加载一个 excel 文件
workbook.loadfromfile("/设置单元格的值.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("/更新单元格的值.xlsx")
workbook.dispose()
python 获取 excel 文件中单元格的值
如果你想要直接读取单元格的值,仍然可以使用 cellrange.value 属性。以下是读取 excel 文件中单元格值的具体步骤示例:
- 创建一个 workbook 类的对象。
- 通过 workbook.loadfromfile() 方法加载一个 excel 文件。
- 通过 workbook.worksheets.get_item() 方法获取一个工作表。
- 遍历指定的单元格范围,然后使用 cellrange.value 属性来获取单元格的值。
- 打印结果。
- python
from spire.xls import workbook
# 创建一个 workbook 实例
workbook = workbook()
# 加载 excel 文件
workbook.loadfromfile("/设置单元格的值.xlsx")
# 获取一个工作表
sheet = workbook.worksheets.get_item(0)
# 遍历第二列的第二行到第八行的单元格
for i in range(2, 8):
# 获取当前单元格
cell = sheet.range.get_item(i, 2)
# 获取该单元格的值
value = cell.value
# 输出值
print(value)
workbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。