kendogrid 单元格样式控制_Python 操作 Excel 教程(3) | 如何通过代码来自动化操作单元格?...

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("运行结束")

54b04399959fff99792ac4cb637c157a.png

注意: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("运行结束")

fb5840578ade2e789ff91b7687a26e0d.png

注意:此时,如果想要赋值给单元格,就得把内容写在第 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("运行结束")

6b63a22d077ea5b8ebda86c326a993f7.png

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


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

欢迎关注公众号:KnowHub 知识加油站

后续我们会循序渐进的学习OpenpyXl以及其他的Excel操作库,欢迎大家关注!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值