Python-封装-excel-写
excel写的封装
import os import openpyxl from openpyxl.styles import Font class Writer: def __init__(self): self.wb=None#工作簿 self.filename=None#打开的文件名 self.sh=None#工作表 #打开excel def open_excel(self,filename): if os.path.isfile(filename): if filename.endswith('xlsx'): self.wb=openpyxl.load_workbook(filename) self.filename=filename#将文件名保存在实例变量中,方便后面写保存方式时使用 print('excel文件打开成功') else: print('文件名后缀不正确') return else: print('传入的参数不正确,请检查!') return #指定要操作的sheet页 def choose_sheet(self, sheet_name=None): ''' 选择要操作的sheet页 :param sheet_name: sheet名称 :return: ''' if sheet_name is None: self.sh = self.wb.active # print(self.sh.title) else: if sheet_name in self.wb.sheetnames: self.sh = self.wb[sheet_name] # print(self.sh.title) else: print('您指定的sheet不存在!') return #直接写入【行,列,值,样式】 def write(self,row,col,value,size=20,color=None): ''' 写入内容 :param row: 行号 :param col: 列号 :param value: 值 :param size: 字体大小 :param color: 颜色,传入对应的数字来识别不同的颜色 :return: ''' if color==None: color='000000'#黑色 elif color==1: color='0000FF'#蓝色 elif color==2: color='FFFF00'#黄色 elif color==3: color='FF0000'#红色 font=Font(name='Arial',b=True,size=size,color=color) self.sh.cell(row,col,value).font=font def save(self,filename=None): ''' 保存 :param filename: 用户传入的文件名 :return: ''' if filename is None: self.wb.save(self.filename)#self.filename是文件的原名 else: self.wb.save(filename)#用户传入的名称 wt=Writer() wt.open_excel('a.xlsx') wt.choose_sheet('商品表') wt.write(row=7,col=1,value='aiyaya',color=1)#行,列,值,颜色的编号 wt.write(7,2,'好难呀',25,3) # wt.save()#保存为原来的文件 wt.save('b.xlsx')#等同于另存为
浙公网安备 33010602011771号