奇怪的是,当用openpyxl加载已存在的excel并再次保存时,文件中的超链接就会消失。修改已有文件时,Python openpyxl会丢失超链接
无论是openpyxl 1.7.2还是最新的1.8.5都有这个问题。
任何人都可以帮助解决这个问题吗?
还是比openpyxl有更好的选择吗?
我知道xlrd/xlwt和XlsxWriter,但xlwt不支持.xlsx文件,并且XlsxWriter无法读取已存在的文件。我需要在应用程序中多次修改文件。
[已更新]:查看here。看起来这是错误尚未解决?
以下代码可能对您的测试有帮助。
#-*- coding: utf-8 -*-
import openpyxl
def create():
wb = openpyxl.Workbook()
ws = wb.worksheets[0]
ws.cell('A1').value = 'Click Me'
ws.cell('A1').hyperlink = 'http://www.google.com'
wb.save('test1.xlsx')
def rewrite():
wb = openpyxl.load_workbook('test1.xlsx')
ws = wb.worksheets[0]
wb.save('test2.xlsx')
if __name__ == '__main__':
create()
rewrite()
[2017年3月7日更新]:本bug已固定的,并且不存在问题了。
不幸的是,openpyxl是迄今为止编辑Excel文件的最佳Python模块。 –