使用Python从Excel(.xlsx)提取超链接

发布于 2021-01-29 16:59:14

我一直在寻找用于Excel文件操作的xlrd和openpyxl库。但是,xlrd当前不支持formatting_info=True.xlsx文件,因此我无法使用xlrdhyperlink_map函数。因此我转向openpyxl,但也没有运气从它中的excel文件中提取超链接。下面的测试代码(测试文件包含指向google的简单超链接,并将超链接文本设置为“测试”):

import openpyxl

wb = openpyxl.load_workbook('testFile.xlsx')

ws = wb.get_sheet_by_name('Sheet1')

r = 0
c = 0

print ws.cell(row = r, column = c). value
print ws.cell(row = r, column = c). hyperlink
print ws.cell(row = r, column = c). hyperlink_rel_id

输出:

test

None

我猜openpyxl当前不完全支持格式化吗?我还可以使用其他一些库从Excel(.xlsx)文件中提取超链接信息吗?

关注者
0
被浏览
149
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    以我的经验,要获得良好的.xlsx交互,需要转向IronPython。这使您可以使用公共语言运行时(clr)并直接与excel’进行交互

    http://ironpython.net/

    import clr
    clr.AddReference("Microsoft.Office.Interop.Excel")
    import Microsoft.Office.Interop.Excel as Excel
    excel = Excel.ApplicationClass()
    
    wb = excel.Workbooks.Open('testFile.xlsx')
    ws = wb.Worksheets['Sheet1']
    
    address = ws.Cells(row, col).Hyperlinks.Item(1).Address
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看