使用 python 将一个 Excel 工作簿插入或附加到另一个 Excel 工作簿中

问题描述 投票:0回答:1

我使用 openpyxl 生成了多个 Excel 工作簿。 现在我需要创建一个合并的 Excel 工作簿,其中包含所有上述创建的 Excel 工作簿,并且可单击。

例如: 合并的 Excel 工作簿将如下所示:

如果我单击 abc.xlsx,则 abc.xlsx excel 工作簿应作为单独的 excel 打开。 就像我们使用超链接手动附加 xlsx 文件一样。可能通过相同或不同的方法,我需要使用 python 以编程方式将一个 Excel 工作簿附加到另一个 Excel 工作簿中。

扭转: 我还需要为 abc.xlsx、sdf.xlsx 提供相对路径。因为可以通过压缩将所有这些 excel 交给某人,那么 abc.xlsx、sdf.xlsx 的路径将会改变。

python excel openpyxl xlsxwriter
1个回答
0
投票

看来您想要的只是超链接;

添加到单元格并确保目标是 Excel 工作表所在位置的相对路径。

from openpyxl import load_workbook
from openpyxl.worksheet.hyperlink import Hyperlink

xlfile = "foo.xlsx"
sheet_name = 'Sheet1'

wb = load_workbook(xlfile)
ws = wb[sheet_name]

### Column A text
ws['A1'].value = 'abc'

### Hyperlink
cell_coord = 'B1'
hyperlink = Hyperlink(
                      target='..\<path>\abc.xlsx',  #  Relative path to Excel file
                      ref=cell_coord,
                      )
ws[cell_coord].value = "abc.xlsx"  # Text to appear in cell

### Add hyperlink to cell
ws[cell_coord].hyperlink = hyperlink

### Save file
wb.save(xlfile)
© www.soinside.com 2019 - 2024. All rights reserved.