Python 调用 openpyxl 库
修改内容
使用 openpyxl
库可以轻松地修改和删除 Excel 文件中的单元格内容,并将修改后的内容另存为新的文件。以下是一个示例代码,展示了如何实现这些功能:
示例代码
Python复制
import openpyxl
# 打开现有的 Excel 文件
workbook = openpyxl.load_workbook('example.xlsx')
# 获取工作表
sheet = workbook['Sheet1']
# 修改单元格内容
sheet['A1'] = 'New Value' # 修改 A1 单元格的值
# 删除单元格内容
sheet['B1'].value = None # 删除 B1 单元格的值
# 另存为新的文件
workbook.save('modified_example.xlsx')
详细说明
- 打开文件:使用
openpyxl.load_workbook()
方法加载现有的 Excel 文件。 - 选择工作表:通过工作表的名称(如
Sheet1
)获取工作表对象。 - 修改单元格:直接通过单元格坐标(如
'A1'
)赋值,即可修改单元格内容。 - 删除单元格:将单元格的值设置为
None
,可以清除单元格内容。 - 另存为:使用
workbook.save()
方法将修改后的内容保存为新的 Excel 文件。
更多功能
如果你想对多个单元格进行批量修改或删除,可以使用循环来实现。例如:
Python复制
# 修改单元格区域 A1:A5 的内容
for row in range(1, 6):
sheet[f'A{row}'] = f'Row {row}'
# 删除单元格区域 B1:B5 的内容
for row in range(1, 6):
sheet[f'B{row}'].value = None
注意事项
- 在修改或删除单元格内容之前,请确保你已经打开了正确的 Excel 文件和工作表。
- 如果需要保留原始文件,建议将修改后的内容保存为新的文件(如
modified_example.xlsx
)。 - 如果需要对工作表进行更复杂的操作(如插入行、列等),可以参考
openpyxl
的官方文档。
希望以上内容对你有帮助!
修改字体
在使用 openpyxl
时,可以直接为单元格设置字体样式,包括英文字体和中文字体。以下是一个示例代码,展示如何设置英文字体为 Times New Roman,中文字体为楷体_GB2312:
Python复制
import openpyxl
from openpyxl.styles import Font
# 打开现有的 Excel 文件
workbook = openpyxl.load_workbook('example.xlsx')
# 获取工作表
sheet = workbook['Sheet1']
# 设置英文字体为 Times New Roman
cell_en = sheet['A1']
cell_en.value = 'Hello World'
cell_en.font = Font(name='Times New Roman', size=12)
# 设置中文字体为楷体_GB2312
cell_cn = sheet['B1']
cell_cn.value = '你好世界'
cell_cn.font = Font(name='楷体_GB2312', size=12)
# 保存工作簿
workbook.save('modified_example.xlsx')
详细说明
- 字体设置:
name='Times New Roman'
:设置英文字体为 Times New Roman。name='楷体_GB2312'
:设置中文字体为楷体_GB2312。size=12
:设置字体大小为 12。
- 注意事项:
- 请确保 Excel 安装了所需的字体(Times New Roman 和 楷体_GB2312)。
- 如果需要为中英文混合的单元格设置字体,Excel 会根据字体设置自动处理中英文的显示。
示例代码运行结果
运行上述代码后:
A1
单元格的英文内容将使用 Times New Roman 字体。B1
单元格的中文内容将使用楷体_GB2312 字体。
如果需要同时在同一个单元格中设置中英文的不同字体,可以将中英文分开到不同的单元格中,然后分别设置字体。