This commit is contained in:
csh 2023-04-04 10:21:28 +08:00
parent e39cd05b1f
commit df79a459dd
5 changed files with 23 additions and 13 deletions

View File

@ -1,4 +1,4 @@
// Version 1.2.8
// Version 1.2.9
Function TOfficeObj(n);
Begin

View File

@ -1,4 +1,4 @@
// Version 1.2.8
// Version 1.2.9
Type TSDocxFile = Class
///Version: V1.0 2022-09-20

View File

@ -1,4 +1,4 @@
// Version 1.2.8
// Version 1.2.9
Type TSExcelFile = Class
///Version: V1.0 2022-08-08

View File

@ -12,8 +12,9 @@ Type xlsxHyperLink = Class
return new xlsxHyperLink(sheetname, file, xmlFile);
End;
Function SetCellHyperLink(axis, hyperlink);
Function SetCellHyperLink(axis, link);
Begin
hyperlink := link;
work_node := xmlFile_.FirstChildElement('worksheet');
hyperlinks := work_node.FirstChildElement('hyperlinks');
if not ifObj(hyperlinks) then begin
@ -32,22 +33,23 @@ Type xlsxHyperLink = Class
hyperlink.Axis := axis;
if hyperlink.LinkType = "location" then
begin
hyperlink.LinkType := nil;
hyperlink.Location := hyperlink.LinkUrl;
hyperlink.LinkUrl := nil;
end
else if hyperlink.LinkType = 'external' then
begin
[rid, commentFileName, sheetFileName, relsfile] := file_.WorkBook().GetRelationshipRid(sheetName_, hyperlink.LinkUrl);
if commentFileName = "" then
relsfile := file_.WorkBook().GetSheetRelsFile(sheetName_);
[id, target, rid] := class(TSXml).FindRelationshipRid(relsfile, hyperlink.LinkUrl);
if target = "" then
Begin
rid++;
ridstr := 'rId' + inttostr(rid);
xmlfile := file_.WorkBook().GetXmlFileObj(relsfile);
class(TSXml).AddRelationshipRid(xmlfile, hyperlink.LinkUrl, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink", ridstr, "External");
id++;
ridstr := 'rId' + inttostr(id);
class(TSXml).AddRelationshipRid(relsfile, hyperlink.LinkUrl, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink", ridstr, "External");
hyperlink.Rid := ridstr;
End
hyperlink.RId := 'rId' + inttostr(rid);
else hyperlink.Rid := 'rId' + inttostr(rid);
end
hyperlink.LinkType := nil;
hyperlink.LinkUrl := nil;
if not ifObj(hyperlink_node) then
begin
hyperlinks.InsertEndChild(hyperlink.marshal());

View File

@ -1,5 +1,13 @@
# 更新日志
## 2023-4-4
### V1.2.9
#### excel
1. 修复超链接兼容性
## 2023-3-31
### V1.2.8