用Python在本地文件夹中插入超链接

2024-10-06 12:34:37 发布

您现在位置:Python中文网/ 问答频道 /正文

这段代码读取一个Excel文件。此excel文件包含客户工号、客户名称、站点、工作描述等信息。。在

这段代码完成后要做的(我希望)是读取工作表的最后一行(这段代码取自工作表单元格“P1”处的计数器),根据单元格内容创建文件夹,并在工作表上创建一个超链接,以打开创建的最低本地文件夹。在

我已经从工作表中提取了所需的信息,以了解需要创建哪些文件夹,但我无法在B列的行上写入单元格的超链接

#Insert Hyperlink to folder
def folder_hyperlink(last_row_position, destination):
    cols = 'B'
    rows = str(last_row_position)
    position = cols + rows
    final_position = "".join(position)
    print final_position # This is just to check the value
    # The statement below should insert hyperlink in eps.xlsm > worksheet jobnoeps at column B and last completed row.
    ws.cell(final_position).hyperlink = destination

下面是完整的代码,但是这里是用来创建超链接的部分。我也尝试过“xlswriter”软件包,但没有任何乐趣。在网上搜索,上面的片段就是我发现的结果。在

有人知道我做错了什么吗?在

^{pr2}$

现在,我的超链接函数在按照建议尝试xlsxwriter后看起来像这样。在

##Insert Hyperlink to folder
def folder_hyperlink(last_row_position, destination):
    import xlsxwriter
    cols = 'B'
    rows = str(last_row_position)
    position = cols + rows
    final_position = "".join(position)
    print final_position # This is just to check the value
    workbook = xlsxwriter.Workbook('eps.xlsx')
    worksheet = workbook.add_worksheet('jobnoeps')
    print worksheet
    worksheet.write_url(final_position, 'folder_location')
    workbook.close()

函数覆盖现有的每股收益.xlsx,创建jobnoeps表,然后插入超链接。我已经玩了以下几行,但不知道如何让它打开现有的xlsx和现有的jobnoeps选项卡,然后进入超链接。在

workbook = xlsxwriter.Workbook('eps.xlsx')
worksheet = workbook.add_worksheet('jobnoeps')
worksheet.write_url(final_position, 'folder_location')

Tags: to代码positionfolderxlsxrowsfinalrow
2条回答

这是导致技巧:在

# Creates hyperlink in existing workbook...

def set_hyperlink():
    from openpyxl import load_workbook
    x = "hyperlink address"
    wb = load_workbook("filename.xlsx")
    ws = wb.get_sheet_by_name("sheet_name")
    ws.cell(row = x?, column = y?).hyperlink = x
    wb.save("filename.xlsx")

set_hyperlink()

按照建议再次尝试使用openpyxl。在

XlsxWriter^{}方法允许您链接到文件夹或其他工作簿和工作表,以及指向web url的内部链接和链接。例如:

import xlsxwriter

workbook = xlsxwriter.Workbook('links.xlsx')
worksheet = workbook.add_worksheet()

worksheet.set_column('A:A', 50)

# Link to a Folder.
worksheet.write_url('A1', r'external:C:\Temp')

# Link to a workbook.
worksheet.write_url('A3', r'external:C:\Temp\Book.xlsx')

# Link to a cell in a worksheet.
worksheet.write_url('A5', r'external:C:\Temp\Book.xlsx#Sheet1!C5')

workbook.close()

有关更多详细信息,请参阅上面链接到的文档。在

相关问题 更多 >