本来想用sheet.column_dimensions[‘D’].font=italic24Font,给Excel的第D列进行相应的格式调整,谁知道以及输入的字符,好像并没有进行相应的格式设置。
先用sheet.column_dimensions[‘D’].font=italic24Font
代码如下
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算了。那么我们来解决!
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
for cell in sheet['D']:
cell.font=italic24Font
修改之后,成功搞定了,D列的格式设置,我们常用sheet.column_dimensions[‘D’]来调整宽度,如sheet.column_dimensions[‘D’].width=60(上图)
可以看见,对宽度的调整,一次成功。
如果要修改已经有输入字符串的单元列格式,用cell代替sheet.column_dimensions来使用,可以解决你的困扰!