作者:小刚
一位苦于信息安全的萌新小白帽,记得关注给个赞,谢谢
办公效率提升小技巧



python对Excel修改内容和样式


使用代码库 openpyxl

执行代码: pip install openpyxl

Excel的插入与删除
import openpyxl

table = openpyxl.load_workbook('xxx.xlsx')

sheet = table['sheet1']
sheet['A1'] = '修改内容'

#在表格中插入整行或者整列
sheet.insert_rows(3) #在第二行开始插入一行空白行
sheet.insert_rows(2,3) #在第二行开始插入三行
sheet.insert_cols(3,4) #第三列开始插入四列空白列

#在表格中删除整行或者整列
sheet.delete_rows(2,4) #在第二行开始删除三行内容
sheet.delete_cols(3,2) #在第三列开始删除两列

table.save('xxx.xlsx')#最后一段要保存文件
Excel修改单元格样式
import openpyxl
from openpyxl.styles import Font,colors #导入样式的字体大小和颜色函数(注意大小写)

table = openpyxl.load_workbook('xxx.xlsx')
sheet = table['sheet1'] #选定sheet1表单进行操作

sheet['A1'].font = Font(#color = colors.RED, #使用预先置好的颜色变量
color ="FF0000", #设置字体颜色
size = 15, #设置文字大小
bold = True, #设定粗体
italic = True #设置斜体
)

sheet['B1'].font = Font(color ="FF00FF") #使用RGB数字表示颜色
#指定整列风格,(openpyxl有整行替换的函数,但使用不出来,所以这里使用递归法方式一个一个换)
font = Font(color = "FF0000")
for x in range(1,5):
sheet.cell(row=x,column=2).font = font #将第二列的样式进行逐一替换

#整行替换颜色方法相同

table.save('xxx.xlsx')#最后一段要保存文件
Excel修改单元格的背景色
import openpyxl
from openpyxl.styles import PatternFill #背景色设置函数(注意大小写)

table = openpyxl.load_workbook('xxx.xlsx')
sheet = table['sheet1']

#背景色设置
sheet['A1'].fill = PatternFill("solid","FF00FF")#使用背景色设置函数设置单元格背景色

#整列替换(依旧使用递归法)
fill = PatternFill("solid","FF00FF")
for y in range(1,5):
sheet.cell(row=y,column=2).fill = fill

#整行替换颜色方法相同

table.save('xxx.xlsx')#最后一段要保存文件
备注

在Excel2007之后的xlsx格式文件,使用openpyxl库比较方便操作。

具体的使用函数技巧还可以去官网查看

​https://openpyxl.readthedocs.io/en/stable/​