Skip to content

Commit ae17fa8

Browse files
committed
This ref qax-os#1585, support to read one cell anchor pictures and improve date and time number format
- Support apply date and time number format with 16 languages: Persian, Polish, Portuguese, Punjabi, Quechua, Romanian, Romansh, Sakha, Sami, Sanskrit, Scottish Gaelic, Serbian, Sesotho sa Leboa, Setswana, Sindhi, Sinhala and Slovak - Update the unit test and dependencies modules
1 parent eb17590 commit ae17fa8

9 files changed

+1320
-120
lines changed

chart_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func TestChartSize(t *testing.T) {
7070

7171
var (
7272
workdir decodeWsDr
73-
anchor decodeTwoCellAnchor
73+
anchor decodeCellAnchor
7474
)
7575

7676
content, ok := newFile.Pkg.Load("xl/drawings/drawing1.xml")
@@ -81,8 +81,8 @@ func TestChartSize(t *testing.T) {
8181
t.FailNow()
8282
}
8383

84-
err = xml.Unmarshal([]byte("<decodeTwoCellAnchor>"+
85-
workdir.TwoCellAnchor[0].Content+"</decodeTwoCellAnchor>"), &anchor)
84+
err = xml.Unmarshal([]byte("<decodeCellAnchor>"+
85+
workdir.TwoCellAnchor[0].Content+"</decodeCellAnchor>"), &anchor)
8686
if !assert.NoError(t, err) {
8787
t.FailNow()
8888
}

drawing.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -1394,15 +1394,15 @@ func (f *File) deleteDrawing(col, row int, drawingXML, drawingType string) error
13941394
var (
13951395
err error
13961396
wsDr *xlsxWsDr
1397-
deTwoCellAnchor *decodeTwoCellAnchor
1397+
deTwoCellAnchor *decodeCellAnchor
13981398
)
13991399
xdrCellAnchorFuncs := map[string]func(anchor *xdrCellAnchor) bool{
14001400
"Chart": func(anchor *xdrCellAnchor) bool { return anchor.Pic == nil },
14011401
"Pic": func(anchor *xdrCellAnchor) bool { return anchor.Pic != nil },
14021402
}
1403-
decodeTwoCellAnchorFuncs := map[string]func(anchor *decodeTwoCellAnchor) bool{
1404-
"Chart": func(anchor *decodeTwoCellAnchor) bool { return anchor.Pic == nil },
1405-
"Pic": func(anchor *decodeTwoCellAnchor) bool { return anchor.Pic != nil },
1403+
decodeCellAnchorFuncs := map[string]func(anchor *decodeCellAnchor) bool{
1404+
"Chart": func(anchor *decodeCellAnchor) bool { return anchor.Pic == nil },
1405+
"Pic": func(anchor *decodeCellAnchor) bool { return anchor.Pic != nil },
14061406
}
14071407
if wsDr, _, err = f.drawingParser(drawingXML); err != nil {
14081408
return err
@@ -1416,12 +1416,12 @@ func (f *File) deleteDrawing(col, row int, drawingXML, drawingType string) error
14161416
}
14171417
}
14181418
for idx := 0; idx < len(wsDr.TwoCellAnchor); idx++ {
1419-
deTwoCellAnchor = new(decodeTwoCellAnchor)
1420-
if err = f.xmlNewDecoder(strings.NewReader("<decodeTwoCellAnchor>" + wsDr.TwoCellAnchor[idx].GraphicFrame + "</decodeTwoCellAnchor>")).
1419+
deTwoCellAnchor = new(decodeCellAnchor)
1420+
if err = f.xmlNewDecoder(strings.NewReader("<decodeCellAnchor>" + wsDr.TwoCellAnchor[idx].GraphicFrame + "</decodeCellAnchor>")).
14211421
Decode(deTwoCellAnchor); err != nil && err != io.EOF {
14221422
return err
14231423
}
1424-
if err = nil; deTwoCellAnchor.From != nil && decodeTwoCellAnchorFuncs[drawingType](deTwoCellAnchor) {
1424+
if err = nil; deTwoCellAnchor.From != nil && decodeCellAnchorFuncs[drawingType](deTwoCellAnchor) {
14251425
if deTwoCellAnchor.From.Col == col && deTwoCellAnchor.From.Row == row {
14261426
wsDr.TwoCellAnchor = append(wsDr.TwoCellAnchor[:idx], wsDr.TwoCellAnchor[idx+1:]...)
14271427
idx--

go.mod

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ require (
88
github.com/stretchr/testify v1.8.0
99
github.com/xuri/efp v0.0.0-20230802181842-ad255f2331ca
1010
github.com/xuri/nfp v0.0.0-20230802015359-2d5eeba905e9
11-
golang.org/x/crypto v0.11.0
11+
golang.org/x/crypto v0.12.0
1212
golang.org/x/image v0.5.0
13-
golang.org/x/net v0.13.0
14-
golang.org/x/text v0.11.0
13+
golang.org/x/net v0.14.0
14+
golang.org/x/text v0.12.0
1515
)
1616

1717
require github.com/richardlehane/msoleps v1.0.3 // indirect

go.sum

+8-8
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ github.com/xuri/nfp v0.0.0-20230802015359-2d5eeba905e9/go.mod h1:WwHg+CVyzlv/TX9
2222
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
2323
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
2424
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
25-
golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
26-
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
25+
golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk=
26+
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
2727
golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI=
2828
golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
2929
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
@@ -33,8 +33,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
3333
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
3434
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
3535
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
36-
golang.org/x/net v0.13.0 h1:Nvo8UFsZ8X3BhAC9699Z1j7XQ3rsZnUUm7jfBEk1ueY=
37-
golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
36+
golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14=
37+
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
3838
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
3939
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
4040
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -45,19 +45,19 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
4545
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
4646
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
4747
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
48-
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
48+
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
4949
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
5050
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
5151
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
5252
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
53-
golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
53+
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
5454
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
5555
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
5656
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
5757
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
5858
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
59-
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
60-
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
59+
golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc=
60+
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
6161
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
6262
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
6363
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=

0 commit comments

Comments
 (0)