#写一个类 类里面有2个方法 1)读数据 2)写数据
#1)读数据可以读取一个Excel里面所有的数据,每一行数据都放到一个子列表里面,
#所有子列表数据放到一个新列表里面,要求把读取到的数据带return返回 #2)写数据可以在Excel里面指定的单元格里面写入指定的值,不需要返回值
from openpyxl.workbook import Workbook
from openpyxl import load_workbook
class From:
def __init__(self,filename='1.xlsx',data='数据',index_l=None):
self.fm=Workbook()
self.filename=filename
self.fn = load_workbook(self.filename) #打开文件
self.data=data
self.index_l=index_l
def new_from(self):
self.fm.create_sheet(self.data,self.index_l)#创建表单的方法 可以指定位置
self.fm.save(self.filename)#另存为 创建文件
def read_date(self):
list1=[]#创建大列表
sheet=self.fn[self.data] #定位到表单
for i in range(1, sheet.max_row+1): #定位单元格的行
list = []#小列表 每次重新赋值该列表 始终保证每一行为一个列表
for j in range(1, sheet.max_column+1):#定位单元格的列
if sheet.cell(i, j).value:#判断是否有None
list.append(sheet.cell(i, j).value)#插入list列表
list1.append(list)#小列表插入大列表
return list1#返回值
def write_date(self,row=1,column=1,content=None):
sheet = self.fn[self.data]
sheet.cell(row,column,content) #写入值2
self.fn.save(self.filename)
self.fn.close()
if __name__ == '__main__':
a=From('ASD.xlsx','sheet1',1)
# a.new_from()
# a.write_date(2,2,'dssdfdsfgdfssdassa')
print(a.read_date())