Skip to content

Commit 45a1f08

Browse files
author
Dokiy
committed
Fix call getNumFmtID with builtInNumFmt return -1
1 parent bb0eb4a commit 45a1f08

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

styles.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2229,12 +2229,12 @@ func (f *File) newFont(style *Style) *xlsxFont {
22292229
// If given number format code is not exist, will return -1.
22302230
func getNumFmtID(styleSheet *xlsxStyleSheet, style *Style) (numFmtID int) {
22312231
numFmtID = -1
2232-
if styleSheet.NumFmts == nil {
2233-
return
2234-
}
22352232
if _, ok := builtInNumFmt[style.NumFmt]; ok {
22362233
return style.NumFmt
22372234
}
2235+
if styleSheet.NumFmts == nil {
2236+
return
2237+
}
22382238
if fmtCode, ok := currencyNumFmt[style.NumFmt]; ok {
22392239
for _, numFmt := range styleSheet.NumFmts.NumFmt {
22402240
if numFmt.FormatCode == fmtCode {

styles_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,3 +330,18 @@ func TestThemeColor(t *testing.T) {
330330
assert.Equal(t, clr[0], clr[1])
331331
}
332332
}
333+
334+
func TestGetNumFmtID(t *testing.T) {
335+
f := NewFile()
336+
337+
fs1, err := parseFormatStyleSet(`{"protection":{"hidden":false,"locked":false},"number_format":10}`)
338+
assert.NoError(t, err)
339+
id1 := getNumFmtID(&xlsxStyleSheet{}, fs1)
340+
341+
fs2, err := parseFormatStyleSet(`{"protection":{"hidden":false,"locked":false},"number_format":0}`)
342+
assert.NoError(t, err)
343+
id2 := getNumFmtID(&xlsxStyleSheet{}, fs2)
344+
345+
assert.NotEqual(t, id1, id2)
346+
assert.NoError(t, f.SaveAs(filepath.Join("test", "TestStyleNumFmt.xlsx")))
347+
}

0 commit comments

Comments
 (0)