使用openpyxl遇ValueError:工作表标题含无效字符,求原因及解决方法
问题分析与修复方案
报错缘由
Excel工作表标题存在字符限制,冒号(:) 属于Excel明确禁止使用的特殊字符之一。openpyxl作为操作Excel的第三方库,会严格遵循Excel的规则校验标题合法性,因此当你尝试用包含冒号的字符串设置工作表标题时,就会触发ValueError: Invalid character : found in sheet title错误,该问题和工作表是否重复无关。
补充说明:Excel禁止用于工作表标题的字符还包括斜杠(/)、反斜杠()、问号(?)、星号(*)、方括号([]),设置标题时需避开这些字符。
修复后的代码
只需将标题中的冒号替换为合法字符(比如点号、连字符等),以下是修改后的paint_sheet方法:
def paint_sheet(self): local_time = time.localtime(time.time()) # 将冒号替换为点号,也可根据需求换成其他合法字符 self.worksheet.title = f'{local_time.tm_hour}.{local_time.tm_min}'
内容的提问来源于stack exchange,提问作者Ziv Wu
相关产品推荐
相关产品推荐

