python应用异常解决:sheet.column_dimensions[‘C‘].font=italic24Font无效

python应用异常解决:sheet.column_dimensions[‘D’].font=italic24Font无效



前言

本来想用sheet.column_dimensions[‘D’].font=italic24Font,给Excel的第D列进行相应的格式调整,谁知道以及输入的字符,好像并没有进行相应的格式设置。


一、问题引入

先用sheet.column_dimensions[‘D’].font=italic24Font

这是原本的Excel。开始修改格式。
在这里插入图片描述

代码如下

import openpyxl,os
from openpyxl.styles import Font
os.chdir(r'C:\Users\LX\Desktop')
wb=openpyxl.load_workbook('LOVE.xlsx')
#sheet=wb['ABC']
sheet=wb.active
italic24Font=Font(size=24,italic=True)
sheet.column_dimensions['D'].font=italic24Font
##for cell in sheet['D']:
##    cell.font=italic24Font

sheet['B3'].font=italic24Font
#styleObj=Font(font=italic24Font)
#sheet['A'].style/styleObj
wb.save('LOVE.xlsx')

来看一下结果,发现D行中并没有改变格式,但是在还没有输入的单元格中再输入相应的文字时,可以发现,格式却改变了,对于如果需要用python办公的高效人员来说,这无疑是一个又鸡肋又烦恼的打击,想想我还不如直接用Excel算了。那么我们来解决!
在这里插入图片描述
在这里插入图片描述

二、解决问题

1.用cell来解决

import openpyxl,os
from openpyxl.styles import Font
os.chdir(r'C:\Users\LX\Desktop')
wb=openpyxl.load_workbook('LOVE.xlsx')
#sheet=wb['ABC']
sheet=wb.active
italic24Font=Font(size=24,italic=True)
#sheet.column_dimensions['D'].font=italic24Font
for cell in sheet['D']:
    cell.font=italic24Font

sheet['B3'].font=italic24Font
#styleObj=Font(font=italic24Font)
#sheet['A'].style/styleObj
wb.save('LOVE.xlsx')

其他一样,重点在于:
for cell in sheet[‘D’]:
cell.font=italic24Font

2.获取结果

for cell in sheet['D']:
    cell.font=italic24Font

在这里插入图片描述

修改之后,成功搞定了,D列的格式设置,我们常用sheet.column_dimensions[‘D’]来调整宽度,如sheet.column_dimensions[‘D’].width=60(上图)
在这里插入图片描述
可以看见,对宽度的调整,一次成功。


总结

如果要修改已经有输入字符串的单元列格式,用cell代替sheet.column_dimensions来使用,可以解决你的困扰!

猜你喜欢

转载自blog.csdn.net/XRTONY/article/details/113822327