From 7733c7a306c557e8a9c5f51014548b90174c22ee Mon Sep 17 00:00:00 2001 From: 34301 Date: Fri, 4 Jul 2025 15:14:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(4.4.9):=20=E4=BF=AE=E5=A4=8D=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E6=96=87=E4=BB=B6=EF=BC=8C=E6=B2=A1=E6=9C=89=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=88=B0=E5=86=85=E9=83=A8=E8=B6=85=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/xlsx/xform/sheet/worksheet-xform.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/xlsx/xform/sheet/worksheet-xform.js b/lib/xlsx/xform/sheet/worksheet-xform.js index 8b1b787..14e69d3 100644 --- a/lib/xlsx/xform/sheet/worksheet-xform.js +++ b/lib/xlsx/xform/sheet/worksheet-xform.js @@ -515,6 +515,15 @@ class WorkSheetXform extends BaseXform { options.hyperlinkMap = (model.hyperlinks || []).reduce((h, hyperlink) => { if (hyperlink.rId) { h[hyperlink.address] = rels[hyperlink.rId].Target; + } else if (hyperlink.target) { + // 支持内部超链接(如location="Sheet1!A1") + let target = hyperlink.target; + if (target.includes('!')) { + // 形如 SheetName!A1,转为 #\'SheetName\'!A1 + const [sheet, cellRef] = target.split('!'); + target = `#'${sheet}'!${cellRef}`; + } + h[hyperlink.address] = target; } return h; }, {});