- from abc import ABCMeta, abstractmethod
- from openpyxl import load_workbook
- import xlrd, xlwt
- class ExcelHelper(metaclass=ABCMeta):
- @abstractmethod
- def read_row(self):
- pass
- @abstractmethod
- def read_column(self):
- pass
- class DTSHelper:
- __metaclass__ = ABCMeta
- @abstractmethod
- def read(self):
- xlrd.book
- pass
- @abstractmethod
- def write(self):
- pass
- class XLSHelper(ExcelHelper):
- def __init__(self, filename):
- self.__workbook = xlrd.open_workbook(filename)
- self.__worksheets = self.__workbook.sheets()
- self.__cur_sheet = self.__worksheets[0] if len(self.__worksheets)> 0 else None
- def use_sheet(self, sheet_name):
- self.__cur_sheet = self.__workbook.sheet_by_name(sheet_name)
- def new_sheet(self, sheet_name):
- self.__cur_sheet = xlwt.Workbook(self.__workbook, encoding='utf-8').add_sheet(sheet_name) # 难道不能修改文件吗???
- def read_row(self):
- pass
- def read_column(self):
- pass
- def read_cell(self):
- pass
- class XLSXHelper(ExcelHelper):
- def __init__(self, filename, readonly=True):
- self.__workbook = load_workbook(filename, readonly)
- self.__worksheets = self.__workbook.worksheets
- self.__cur_sheet = self.__worksheets[0] if len(self.__worksheets)> 0 else None
- def use_sheet(self, sheet_name):
- self.__cur_sheet = self.__workbook.get_sheet_by_name(sheet_name)
- def new_sheet(self, sheet_name):
- self.__cur_sheet = self.__workbook.create_sheet(title=sheet_name)
- def read_row(self):
- pass
- def read_column(self):
- pass
- def read_cell(self):
- pass
- if __name__ == '__main__':
- pass
来源: http://www.bubuko.com/infodetail-3340550.html