一直没有找到Python操作excel很好的工具:最近手写了一个,希望给大家带来帮助:
class ExcelUtils(object): """https://openpyxl.readthedocs.io/en/stable/changes.html""" def __init__(self, filename, sheets=None): """ :param filename: excel文件的位置 :param sheets: 需要创建的sheet """ if sheets is None: sheets = [] self.wb = openpyxl.load_workbook(filename) self.filename = filename self.ws = self.wb.active for sheet in sheets: self.wb.create_sheet(sheet) def insert(self, text, pos, sheet=""): """ :param text: 插入的数据 :param pos: 插入的位置(eg. 'A1') :param sheet: 插入的sheet :return: 如果失败返回 False """ if sheet: ws_sheet = self.wb[sheet] if not ws_sheet[pos].value: ws_sheet[pos] = text else: return False else: if not self.ws[pos].value: self.ws[pos] = text else: return False self.wb.save(self.filename) def delete(self, pos, sheet=""): """ :param pos: 删除内容的位置;(内容置空) :param sheet: 删除的sheet :return: 被删除的内容 """ if sheet: ws_sheet = self.wb[sheet] content = ws_sheet[pos].value ws_sheet[pos] = "" else: content = self.ws[pos].value self.ws[pos] = "" self.wb.save(self.filename) return content def update(self, pos, text, sheet=""): """ :param pos: 修改文本的位置 :param text: 修改的内容 :param sheet: 修改的sheet """ if sheet: ws_sheet = self.wb[sheet] ws_sheet[pos] = text else: self.ws[pos] = text def get(self, pos, sheet=""): """ :param pos: 获取内容的位置;(内容置空) :param sheet: 获取的sheet(可选) :return: 获取的内容 """ if sheet: ws_sheet = self.wb[sheet] return ws_sheet[pos] else: return self.ws[pos]