分享

Python 操作 Excel 教程(3) | 如何通过代码来自动化操作单元格?

 知识情报院 2022-02-21

前面我们说到,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(23"这里是第2行,第3列").font = Font(name = "Tahoma",size = 20)

改变字体颜色

ws.cell(23"这里是第2行,第3列").font = Font(name = "Tahoma",size=20,color="FF0000")

改变填充颜色

ws.cell(23"这里是第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(23"这里是第2行,第3列").fill = PatternFill("solid", fgColor="FFBB00")
ws["C2"].font = Font(name = "Tahoma",size=20,color="FF0000")
ws.cell(58"这里是第5行,第8列")

wb.save('demo3.xlsx')
print("运行结束")

注意:运行代码时,不要打开同名的 Excel 表格,否则会报错


今天的教程,主要学习了:如何指定单元格地址,以及给单元格赋值,改变单元格样式等;大家都学会了吗?

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多