Python 操作 Excel 教程(3) | 如何通过代码来自动化操作单元格?
前面我们说到,Excel 的基本对象有工作簿workbook
、工作表worksheet
、行row
、列column
、单元格cell
以及单元格区域range
等;我们控制 Excel,其实也是将其作为一个对象,来改变它的属性值,达到我们想要的效果;今天我们先来学习,Excel 最基础的对象:单元格对象cell
的操作过程。
01 首先创建工作簿并新建工作表
from openpyxl import Workbook
# 实例化新的工作表
wb = Workbook()
ws = wb.create_sheet("新工作表")
我们现在获得了一个工作表对象ws
,这个对象又是由很多单元格对象组成的
02 如何指定某个单元格对象的值
我们在普通的Excel
公式中,指定某个特定单元格,一般以列行为组合;如(A2
,D18
)等;在 Openpyxl 中,我们也可以用类似的样式来指定特定的单元格,代码如下:
from openpyxl import Workbook
wb = Workbook()
ws = wb.create_sheet("新工作表")
ws["A5"] = "这里是A5单元格"
ws['E9'] = '这里是E9单元格'
wb.save('demo3.xlsx')
print("运行结束")
注意:Python 中,英文双引号""
和英文单引号''
,大部分情况下都是可以通用的;不过大家在书写代码时,尽量保持风格的统一
除了字母+数字的样式,Openpyxl 中,还支持指定行列数值的方式(ws.cell(row=4, column=2, value=10)
),来对单元格赋值;代码如下:
from openpyxl import Workbook
wb = Workbook()
ws = wb.create_sheet("新工作表")
ws.cell(2,3,"这里是第2行,第3列")
ws.cell(5,8,"这里是第5行,第8列")
wb.save('demo3.xlsx')
print("运行结束")
注意:此时,如果想要赋值给单元格,就得把内容写在第 3 个参数
03 如何指定某个单元格对象的格式
除了给单元格赋值,我们日常还需要给单元格修改格式,如字体样式、字体大小、字体颜色、填充颜色等;样式的填充等等 不过首先,我们需要导入另外的函数:
from openpyxl.styles import PatternFill, Font
改变字体样式和大小
ws.cell(2, 3, "这里是第2行,第3列").font = Font(name = "Tahoma",size = 20)
改变字体颜色
ws.cell(2, 3, "这里是第2行,第3列").font = Font(name = "Tahoma",size=20,color="FF0000")
改变填充颜色
ws.cell(2, 3, "这里是第2行,第3列").fill = PatternFill("solid", fgColor="FFBB00")
完整示例代码
from openpyxl import Workbook
from openpyxl.styles import PatternFill, Font
wb = Workbook()
ws = wb.create_sheet("新工作表")
ws.cell(2, 3, "这里是第2行,第3列").fill = PatternFill("solid", fgColor="FFBB00")
ws["C2"].font = Font(name = "Tahoma",size=20,color="FF0000")
ws.cell(5, 8, "这里是第5行,第8列")
wb.save('demo3.xlsx')
print("运行结束")
注意:运行代码时,不要打开同名的 Excel 表格,否则会报错
今天的教程,主要学习了:如何指定单元格地址,以及给单元格赋值,改变单元格样式等;大家都学会了吗?
欢迎关注公众号:KnowHub 知识加油站
后续我们会循序渐进的学习OpenpyXl
以及其他的Excel
操作库,欢迎大家关注!