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 天的临时许可证。