import openpyxl
import os
class Excel_create:
def __init__(self,filepath):
self.wb = filepath
self.wb1 = openpyxl.Workbook()
def creatExel(self,username,classname,age):
# 获取被激活的 worksheet
sh1 = self.wb1.active
#写入数据到单元格
sh1.cell(1,1).value = username
sh1.cell(1,2).value = classname
sh1.cell(1,3).value = age
#保存excel
self.wb1.save(self.wb)
class Excel:
def __init__(self,filepath,sheet):
#获取工作簿
self.webname = filepath
self.wb = openpyxl.load_workbook(filepath)
#获取工作表
self.sh = self.wb[sheet]
self.datalist = []
#获取所有sheet页表名
self.sheet_names = self.wb.worksheets
self.sheet_index = self.wb.index(self.sh)
def readExcel(self):
#获取单元格中的最大行及最大列
rows = self.sh.max_row
cols = self.sh.max_column
print(f'行数:{rows},列数:{cols}')
#获取列表中所有数据
for row in range(1,rows+1):
for col in range(1,cols+1):
value = self.sh.cell(row,col).value
self.datalist.append(value)
return self.datalist
def edietExcel(self,row,column,value):
self.sh.cell(row,column).value = value
self.wb.save(self.webname)
def edietTable(self,numbers,name):
self.wb.index(self.sh)
# self.wb[self.sheet_names[numbers]].title = name
self.sheet_names[numbers].title = name
self.wb.save(self.webname)
# Excel_add = Excel_create('234.xlsx')
# Excel_add.creatExel('username','classname','age')
Excel_Read = Excel('234.xlsx','花名册')
Excel_Read.edietTable(0,'12')
a = Excel_Read.sheet_names
print(a)
报错:面向对象编程(一)/Code/作业/test_05_01.py", line 54, in edietTable
self.wb.sheetnames[0].title = '花名册'
AttributeError: 'str' object attribute 'title' is read-only