@@ -621,24 +621,34 @@ func (s *Sheet) prepWorksheetFromRows(worksheet *xlsxWorksheet, relations *xlsxW
621621 worksheet .Hyperlinks = & xlsxHyperlinks {HyperLinks : []xlsxHyperlink {}}
622622 }
623623
624- var relId string
625- if relations != nil && relations .Relationships != nil {
626- for _ , rel := range relations .Relationships {
627- if rel .Target == cell .Hyperlink .Link {
628- relId = rel .Id
624+ if cell .Hyperlink .Location != "" {
625+ xlsxLink := xlsxHyperlink {
626+ Reference : cellID ,
627+ Location : cell .Hyperlink .Location ,
628+ DisplayString : cell .Hyperlink .DisplayString ,
629+ Tooltip : cell .Hyperlink .Tooltip }
630+ worksheet .Hyperlinks .HyperLinks = append (worksheet .Hyperlinks .HyperLinks , xlsxLink )
631+ } else {
632+ var relId string
633+ if relations != nil && relations .Relationships != nil {
634+ for _ , rel := range relations .Relationships {
635+ if rel .Target == cell .Hyperlink .Link {
636+ relId = rel .Id
637+ }
629638 }
630639 }
631- }
632640
633- if relId != "" {
641+ if relId != "" {
634642
635- xlsxLink := xlsxHyperlink {
636- RelationshipId : relId ,
637- Reference : cellID ,
638- DisplayString : cell .Hyperlink .DisplayString ,
639- Tooltip : cell .Hyperlink .Tooltip }
640- worksheet .Hyperlinks .HyperLinks = append (worksheet .Hyperlinks .HyperLinks , xlsxLink )
643+ xlsxLink := xlsxHyperlink {
644+ RelationshipId : relId ,
645+ Reference : cellID ,
646+ DisplayString : cell .Hyperlink .DisplayString ,
647+ Tooltip : cell .Hyperlink .Tooltip }
648+ worksheet .Hyperlinks .HyperLinks = append (worksheet .Hyperlinks .HyperLinks , xlsxLink )
649+ }
641650 }
651+
642652 }
643653
644654 if cell .HMerge > 0 || cell .VMerge > 0 {
@@ -784,21 +794,30 @@ func (s *Sheet) makeRows(worksheet *xlsxWorksheet, styles *xlsxStyleSheet, refTa
784794 worksheet .Hyperlinks = & xlsxHyperlinks {HyperLinks : []xlsxHyperlink {}}
785795 }
786796
787- var relId string
788- for _ , rel := range relations .Relationships {
789- if rel .Target == cell .Hyperlink .Link {
790- relId = rel .Id
797+ if cell .Hyperlink .Location != "" {
798+ xlsxLink := xlsxHyperlink {
799+ Reference : xC .R ,
800+ Location : cell .Hyperlink .Location ,
801+ DisplayString : cell .Hyperlink .DisplayString ,
802+ Tooltip : cell .Hyperlink .Tooltip }
803+ worksheet .Hyperlinks .HyperLinks = append (worksheet .Hyperlinks .HyperLinks , xlsxLink )
804+ } else {
805+ var relId string
806+ for _ , rel := range relations .Relationships {
807+ if rel .Target == cell .Hyperlink .Link {
808+ relId = rel .Id
809+ }
791810 }
792- }
793811
794- if relId != "" {
812+ if relId != "" {
795813
796- xlsxLink := xlsxHyperlink {
797- RelationshipId : relId ,
798- Reference : xC .R ,
799- DisplayString : cell .Hyperlink .DisplayString ,
800- Tooltip : cell .Hyperlink .Tooltip }
801- worksheet .Hyperlinks .HyperLinks = append (worksheet .Hyperlinks .HyperLinks , xlsxLink )
814+ xlsxLink := xlsxHyperlink {
815+ RelationshipId : relId ,
816+ Reference : xC .R ,
817+ DisplayString : cell .Hyperlink .DisplayString ,
818+ Tooltip : cell .Hyperlink .Tooltip }
819+ worksheet .Hyperlinks .HyperLinks = append (worksheet .Hyperlinks .HyperLinks , xlsxLink )
820+ }
802821 }
803822 }
804823
0 commit comments