1. 程式人生 > 其它 >Python-封裝excel的寫

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')#等同於另存為