openpyxl: 超链接页签包含特殊字符

因为使用的场景,sheet_name包含.这样的特殊字符,测试后发现直接使用hyperlink,会报错:无法打开指定的文件

ws[f'A{i}'].hyperlink='${sheet_name}!A1'

PS:不包含特殊字符时,可直接使用hyperlink

转而使用HYPERLINK


官方参数说明如下:

HYPERLINK (link_location,[friendly_name])

HYPERLINK 函数语法具有下列参数:

Link_location必需。 要打开的文档的路径和文件名。 Link_location 可以指向文档中的某个更为具体的位置 ,如 Excel 工作表或工作簿中特定的单元格或命名区域,或是指向 Microsoft Word 文档中的书签。 路径可以是存储在硬盘驱动器上的文件。 路径还可以是 Microsoft Excel 中服务器 (上的通用命名约定 (UNC) Windows) 路径,或者是 Internet 或 Intranet 上的统一资源定位符 (URL) 路径。

请注意Excel 网页版 HYPERLINK 函数仅对 web 地址 (URL) 有效。 Link_location可以是用引号括起来的文本字符串,或者是对包含链接为文本字符串的单元格的引用。

如果在单元格中指定的跳转link_location不存在或无法导航,则单击单元格时会出现错误。

Friendly_name可选。 单元格中显示的跳转文本或数字值。 Friendly_name 显示为蓝色并带有下划线。 如果省略 Friendly_name,单元格会将 link_location 显示为跳转文本。

Friendly_name 可以为数值、文本字符串、名称或包含跳转文本或数值的单元格。

如果 Friendly_name 返回错误值(例如,#VALUE!),单元格将显示错误值以替代跳转文本。

包含特殊字符是sheet_name需要用单引号包起来


可用代码

link_url =f"=HYPERLINK(\"#\'{sheet_name}\'!A1\",\"{sheet_name}\")"

ws[f'A{i}'].value = link_url

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容