Python-封裝excel的寫
阿新 • • 發佈:2022-04-19
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 inself.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')#等同於另存為