求解:Openpyxl 修改sheet标签页时,报错只读模式

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值