【发布时间】:2014-05-31 07:17:14
【问题描述】:
奇怪的是,当用openpyxl加载一个已经存在的excel并再次保存时,文件中的超链接消失了。
无论是openpyxl 1.7.2还是最新的1.8.5都有这个问题。
有人可以帮忙解决这个问题吗?
或者有没有比openpyxl更好的选择?
我知道 xlrd/xlwt 和 XlsxWriter,但 xlwt 不支持 .xlsx 文件,并且 XlsxWriter 无法读取现有文件。我需要在我的应用程序中多次修改一个文件。
[更新]:看here。好像这个bug还没有修复?
以下代码可能对您的测试有所帮助。
#-*- 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-03-07 更新]:bug 已修复,问题不再存在。
【问题讨论】:
-
不幸的是,openpyxl 是迄今为止编辑 Excel 文件的最佳 Python 模块。
标签: python excel hyperlink openpyxl