今天嘗試了一下面向對象的編程模式,似乎有點爽啊
寫了一個py文件xlwplus.py如下,想通過引入這個包實現一鍵讀/寫,通過創建帶默認值(工作簿1,Sheet1,A1)地址的實例,不必每次都輸入地址那麼麻煩。當然也可以通過修改屬性的方式對位置進行修改。
import xlwings as xw
class xl(object):
def __init__(self,Book='工作簿1',Sheet='Sheet1',Range='A1'):
self.Book=Book
self.Sheet=Sheet
self.Range=Range
#通過手動輸入改寫地址的方法,可分別改寫,也可一起改寫:
def getbook(self):
global Book
Book=input('請輸入工作簿名稱:')
def getsheet(self):
global Sheet
Sheet=input('請輸入工作表名稱:')
def getrange(self):
global Range
Range=input('請輸入區域表達式:')
def gets(self):
self.getbook()
self.getsheet()
self.getrange()
#讀取特定Book、Sheet、Range的方法,導出一個list:
def readL(self):
readList=xw.books[Book].sheets[Sheet].range(Range).value
print(readList)
return readList
#在特定Book、Sheet、Range的方法寫入一個list:
def writeL(self,List):
xw.books[self.Book].sheets[self.Sheet].range(self.Range).value=List
return
在其他文件中的引用(能引用的前提是被引用的.py文件必須在當前文件夾或/lib/文件夾中,參考https://jingyan.baidu.com/article/08b6a591810daf14a8092204.html):
from xlwplus import *#如果重複運行提示reloaded可以忽略
xl=xl()
創建實例後就可以對實例進行修改、讀寫啦~