From 15614badfc1b60d727a24af3062a132633f45184 Mon Sep 17 00:00:00 2001 From: xuri Date: Fri, 25 Aug 2023 01:06:41 +0800 Subject: [PATCH] This closes #1628, fix the GetPictures function returns pictures doesn't correct in some cases --- picture.go | 4 +--- picture_test.go | 9 +++++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/picture.go b/picture.go index 1a9eeeb..1d6b5f0 100644 --- a/picture.go +++ b/picture.go @@ -649,9 +649,7 @@ func (f *File) getPicture(row, col int, drawingXML, drawingRelationships string) if wsDr, _, err = f.drawingParser(drawingXML); err != nil { return } - if pics = f.getPicturesFromWsDr(row, col, drawingRelationships, wsDr); len(pics) > 0 { - return - } + pics = f.getPicturesFromWsDr(row, col, drawingRelationships, wsDr) deWsDr = new(decodeWsDr) if err = f.xmlNewDecoder(bytes.NewReader(namespaceStrictToTransitional(f.readXML(drawingXML)))). Decode(deWsDr); err != nil && err != io.EOF { diff --git a/picture_test.go b/picture_test.go index 7eb21cb..4920634 100644 --- a/picture_test.go +++ b/picture_test.go @@ -70,6 +70,15 @@ func TestAddPicture(t *testing.T) { assert.NoError(t, f.SaveAs(filepath.Join("test", "TestAddPicture1.xlsx"))) assert.NoError(t, f.Close()) + // Test get pictures after inserting a new picture from a workbook which contains existing pictures + f, err = OpenFile(filepath.Join("test", "TestAddPicture1.xlsx")) + assert.NoError(t, err) + assert.NoError(t, f.AddPicture("Sheet1", "A30", filepath.Join("test", "images", "excel.jpg"), nil)) + pics, err := f.GetPictures("Sheet1", "A30") + assert.NoError(t, err) + assert.Len(t, pics, 2) + assert.NoError(t, f.Close()) + // Test add picture with unsupported charset content types f = NewFile() f.ContentTypes = nil