Skip to content

Commit 1304b2c

Browse files
committed
Add optional parameter withoutValues for the GetMergeCells function
- Add Transparency field in the Fill data type - Upgrade the Excelize library version - Update unit tests - Upgrade rollup package version
1 parent 7ec5f33 commit 1304b2c

File tree

7 files changed

+147
-119
lines changed

7 files changed

+147
-119
lines changed

cmd/go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ go 1.23.0
44

55
require (
66
github.com/stretchr/testify v1.10.0
7-
github.com/xuri/excelize/v2 v2.9.2-0.20250710001508-249b593d21b1
8-
golang.org/x/image v0.29.0
7+
github.com/xuri/excelize/v2 v2.9.2-0.20250809060300-b372bd3d2e71
8+
golang.org/x/image v0.30.0
99
)
1010

1111
require (
@@ -16,8 +16,8 @@ require (
1616
github.com/tiendc/go-deepcopy v1.6.1 // indirect
1717
github.com/xuri/efp v0.0.1 // indirect
1818
github.com/xuri/nfp v0.0.2-0.20250530014748-2ddeb826f9a9 // indirect
19-
golang.org/x/crypto v0.40.0 // indirect
20-
golang.org/x/net v0.42.0 // indirect
21-
golang.org/x/text v0.27.0 // indirect
19+
golang.org/x/crypto v0.41.0 // indirect
20+
golang.org/x/net v0.43.0 // indirect
21+
golang.org/x/text v0.28.0 // indirect
2222
gopkg.in/yaml.v3 v3.0.1 // indirect
2323
)

cmd/go.sum

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ github.com/tiendc/go-deepcopy v1.6.1 h1:uVRTItFeNHkMcLueHS7OCsxgxT9P8MzGB/taUa2Y
1313
github.com/tiendc/go-deepcopy v1.6.1/go.mod h1:toXoeQoUqXOOS/X4sKuiAoSk6elIdqc0pN7MTgOOo2I=
1414
github.com/xuri/efp v0.0.1 h1:fws5Rv3myXyYni8uwj2qKjVaRP30PdjeYe2Y6FDsCL8=
1515
github.com/xuri/efp v0.0.1/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI=
16-
github.com/xuri/excelize/v2 v2.9.2-0.20250710001508-249b593d21b1 h1:wj8xnLX7FjRxN+ua4A+UEB0IzTQwlN6zTQ1atbUgQRM=
17-
github.com/xuri/excelize/v2 v2.9.2-0.20250710001508-249b593d21b1/go.mod h1:isQygQdjiU88/HpJYtp+6TN/FH29HvVjWT8vFk3t5+w=
16+
github.com/xuri/excelize/v2 v2.9.2-0.20250809060300-b372bd3d2e71 h1:aE3CI3bJsGABxX6whWhUg1kX82rU+kSR+JQR4TbM16A=
17+
github.com/xuri/excelize/v2 v2.9.2-0.20250809060300-b372bd3d2e71/go.mod h1:kJNWyr0LiVxr4LZiOJiN9w8t177/VpVsR4GIXvgzoAc=
1818
github.com/xuri/nfp v0.0.2-0.20250530014748-2ddeb826f9a9 h1:+C0TIdyyYmzadGaL/HBLbf3WdLgC29pgyhTjAT/0nuE=
1919
github.com/xuri/nfp v0.0.2-0.20250530014748-2ddeb826f9a9/go.mod h1:WwHg+CVyzlv/TX9xqBFXEZAuxOPxn2k1GNHwG41IIUQ=
20-
golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
21-
golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
22-
golang.org/x/image v0.29.0 h1:HcdsyR4Gsuys/Axh0rDEmlBmB68rW1U9BUdB3UVHsas=
23-
golang.org/x/image v0.29.0/go.mod h1:RVJROnf3SLK8d26OW91j4FrIHGbsJ8QnbEocVTOWQDA=
24-
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
25-
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
26-
golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
27-
golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
20+
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
21+
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
22+
golang.org/x/image v0.30.0 h1:jD5RhkmVAnjqaCUXfbGBrn3lpxbknfN9w2UhHHU+5B4=
23+
golang.org/x/image v0.30.0/go.mod h1:SAEUTxCCMWSrJcCy/4HwavEsfZZJlYxeHLc6tTiAe/c=
24+
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
25+
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
26+
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
27+
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
2828
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
2929
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
3030
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

cmd/main.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2297,11 +2297,16 @@ func GetMergeCells(f *excelize.File) func(this js.Value, args []js.Value) interf
22972297
ret := map[string]interface{}{"mergeCells": []interface{}{}, "error": nil}
22982298
if err := prepareArgs(args, []argsRule{
22992299
{types: []js.Type{js.TypeString}},
2300+
{types: []js.Type{js.TypeBoolean}, opts: true},
23002301
}); err != nil {
23012302
ret["error"] = err.Error()
23022303
return js.ValueOf(ret)
23032304
}
2304-
mergeCells, err := f.GetMergeCells(args[0].String())
2305+
var withoutValues bool
2306+
if len(args) == 2 {
2307+
withoutValues = args[1].Bool()
2308+
}
2309+
mergeCells, err := f.GetMergeCells(args[0].String(), withoutValues)
23052310
if err != nil {
23062311
ret["error"] = err.Error()
23072312
return js.ValueOf(ret)

cmd/main_test.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -817,7 +817,7 @@ func TestAddSparkline(t *testing.T) {
817817
"Style": -1,
818818
}),
819819
)
820-
assert.Equal(t, "parameter 'Style' must between 0-35", ret.Get("error").String(), ret.Get("error").String())
820+
assert.Equal(t, "parameter 'Style' value must be an integer from 0 to 35", ret.Get("error").String(), ret.Get("error").String())
821821

822822
ret = f.(js.Value).Call("AddSparkline", js.ValueOf("SheetN"),
823823
js.ValueOf(map[string]interface{}{
@@ -1384,6 +1384,15 @@ func TestGetMergeCells(t *testing.T) {
13841384
assert.Equal(t, "A1", mergeCell.Call("GetStartAxis").String())
13851385
assert.Equal(t, "C3", mergeCell.Call("GetEndAxis").String())
13861386

1387+
// Test get merged cells without cell values
1388+
ret = f.(js.Value).Call("GetMergeCells", js.ValueOf("Sheet1"), js.ValueOf(true))
1389+
assert.True(t, ret.Get("error").IsNull())
1390+
1391+
mergeCell = ret.Get("mergeCells").Index(0)
1392+
assert.Empty(t, mergeCell.Call("GetCellValue").String())
1393+
assert.Equal(t, "A1", mergeCell.Call("GetStartAxis").String())
1394+
assert.Equal(t, "C3", mergeCell.Call("GetEndAxis").String())
1395+
13871396
ret = f.(js.Value).Call("GetMergeCells", js.ValueOf(1))
13881397
assert.EqualError(t, errArgType, ret.Get("error").String())
13891398

0 commit comments

Comments
 (0)