diff options
| author | xuri <xuri.me@gmail.com> | 2021-04-26 22:51:35 +0800 | 
|---|---|---|
| committer | xuri <xuri.me@gmail.com> | 2021-04-26 22:51:35 +0800 | 
| commit | e5c5ecc379434b7ef4ffcbb9dcf58526cafda66a (patch) | |
| tree | 3c206af0890a8bb9ef93b11cbcb14d9523b8ec96 | |
| parent | f5a20fa03f2abd9edfa2f9da66680e987fffae79 (diff) | |
Fixed #825, improves compatibility for comments with absolute XML path
| -rw-r--r-- | comment.go | 9 | ||||
| -rw-r--r-- | comment_test.go | 1 | 
2 files changed, 9 insertions, 1 deletions
| @@ -39,7 +39,14 @@ func parseFormatCommentsSet(formatSet string) (*formatComment, error) {  func (f *File) GetComments() (comments map[string][]Comment) {  	comments = map[string][]Comment{}  	for n, path := range f.sheetMap { -		if d := f.commentsReader("xl" + strings.TrimPrefix(f.getSheetComments(filepath.Base(path)), "..")); d != nil { +		target := f.getSheetComments(filepath.Base(path)) +		if target == "" { +			continue +		} +		if !filepath.IsAbs(target) { +			target = "xl" + strings.TrimPrefix(target, "..") +		} +		if d := f.commentsReader(strings.TrimPrefix(target, "/")); d != nil {  			sheetComments := []Comment{}  			for _, comment := range d.CommentList.Comment {  				sheetComment := Comment{} diff --git a/comment_test.go b/comment_test.go index ee8b826..19b705f 100644 --- a/comment_test.go +++ b/comment_test.go @@ -40,6 +40,7 @@ func TestAddComments(t *testing.T) {  	comments := f.GetComments()  	assert.EqualValues(t, 2, len(comments["Sheet1"]))  	assert.EqualValues(t, 1, len(comments["Sheet2"])) +	assert.EqualValues(t, len(NewFile().GetComments()), 0)  }  func TestDecodeVMLDrawingReader(t *testing.T) { | 
