python关于openpyxl的二次开发
from openpyxl import load_workbook class Excel_util: def __init__(self,path): self.path=path # 加载输入路径的文件 self.wb=load_workbook(self.path) #获取excel的sheet页 def get_sheetname(self): return self.wb.sheetnames #输入指定sheetname def __call__(self, name): return self.wb[name] #读取excel内容,name是sheet页的名字,start和end是行或者列的起始 def read_excel(self,name,start,end=None): """ :param name = sheetname cell_range: util column(A-C) eg: start="A" end="C" util row (1-3) eg: start=1 end=3 :return: """ #把start和end都设为大写 start=str(start).upper() if not end: end=start end = str(end).upper() sheet = self.__call__(name)[start:end] try: return [[cell.value for cell in _] for _ in sheet ] except: return [cell.value for cell in sheet] #单个单元格写入数据 def write_cell_data(self,name,cellname,data): cell=self.__call__(name)[cellname] cell.value=data self.wb.save(self.path) #最后一行追加插入数据,需要list def append_row_data(self,name,data: list): self.__call__(name).append(data) self.wb.save(self.path) # data="测试" # data1=["ceshi"] # a=Excel_util("D:\zhijing_work\测试数据\测试文件\yetangjian.xlsx").read_excel("Sheet1",1,3) # print(a) # b=Excel_util("D:\zhijing_work\测试数据\测试文件\yetangjian.xlsx") # b.write_cell_data("Sheet1","B5",data) # b.append_row_data("Sheet1",data1)
作者: yetangjian
出处: https://www.cnblogs.com/yetangjian/p/15876008.html
关于作者: yetangjian
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(yetangjian@outlook.com)咨询.