单元格格式可以使 Excel 表格整洁有序,并且在视觉效果上更加吸引人。通常,您会想要工作簿中多个单元格和区域都使用同样的格式。无需单独去设置每个单元格的格式,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 将单元格格式复制到另一个单元格
您可以通过 Worksheet.Range[row:int, column:int] 属性来获取单元格,然后使用 CellRange.Style 属性来获取单元格的格式,以便将其应用到其它的单元格中。
下面是将单元格格式复制到另一个单元格的步骤:
- 创建一个工作簿对象。
- 从磁盘中加载 Excel 文件。
- 获取工作簿中的指定工作表。
- 通过 Worksheet.Range[row:int, column:int] 属性获取指定单元格。
- 利用 CellRange.Style 属性获取单元格格式,并将其应用到另一个单元格。
- 保存修改后的工作簿。
下面这个代码示例加载了现有的 Excel 文档,然后复制了第一列中的第一行至第十三行的格式到第三列的第一行至十三行中,最后将修改后的工作簿保存为新的 Excel 文档。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建一个 Workbook 对象
workbook = Workbook()
# 加载需要修改的 Excel 文档
workbook.LoadFromFile("excel.xlsx")
# 获取指定工作表
worksheet = workbook.Worksheets[0]
# 遍历选中的行
for i in range(1, 14):
# 获取指定单元格的格式
style = worksheet.Range[i, 1].Style
# 将格式应用到另一个单元格
worksheet.Range[i, 3].Style = style
# 保存结果文档
workbook.SaveToFile("CopyFormatting.xlsx",ExcelVersion.Version2016)
# 释放资源
workbook.Dispose()
使用 Python 将单元格格式复制到单元格区域
当您获取了某个单元格的格式,您就可以将其应用到通过 Worksheet.Range[row:int, column:int, endRow:int, endColumn:int] 属性所获取的单元格区域中。
下方是将一个单元格格式复制到单元格区域的步骤:
- 创建一个 Workbook 对象。
- 加载需要修改的 Excel 文档。
- 获取这个工作簿中的指定工作表。
- 通过 Worksheet.Range[row:int, column:int] 属性获取特定单元格。
- 通过 CellRange.Style 属性获取单元格的格式。
- 利用 Worksheet.Range[row:int, column:int, endRow:int, endColumn:int] 属性获取单元格区域。
- 通过 CellRange.Style 属性,将单元格格式应用到单元格区域中。
- 将修改后的工作表保存为新的 Excel 文档。
该代码范例加载了一个现有的 Excel 文档,获取了第一列第三行表格的格式,然后将其应用到了第四至第六列,第三至第四行的表格区域中。
- Python
from spire.xls import *
from spire.xls.common import *
# 实例化一个 Workbook 对象
workbook = Workbook()
# 从文件路径中加载 Excel 文档
workbook.LoadFromFile("excel.xlsx")
# 获取第二个工作表
worksheet = workbook.Worksheets[1]
# 获取指定单元格的格式
style = worksheet.Range[3, 1].Style
# 将该格式应用到表格区域中
worksheet.Range[3, 4, 4, 6].Style = style
# 保存修改后的文档
workbook.SaveToFile("ApplyFormatToCellRange.xlsx",ExcelVersion.Version2016)
# 释放资源
workbook.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。