Skip to content

Commit b4ffa8c

Browse files
committed
- Add unsigned integer data type support, related issue qax-os#136;
- go test and godoc updated Signed-off-by: Ri Xu <xuri.me@gmail.com>
1 parent 9b5b74d commit b4ffa8c

File tree

2 files changed

+29
-9
lines changed

2 files changed

+29
-9
lines changed

cell.go

+15
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ func (f *File) mergeCellsParser(xlsx *xlsxWorksheet, axis string) string {
3030
// int16
3131
// int32
3232
// int64
33+
// uint
34+
// uint8
35+
// uint16
36+
// uint32
37+
// uint64
3338
// float32
3439
// float64
3540
// string
@@ -51,6 +56,16 @@ func (f *File) SetCellValue(sheet, axis string, value interface{}) {
5156
f.SetCellInt(sheet, axis, int(value.(int32)))
5257
case int64:
5358
f.SetCellInt(sheet, axis, int(value.(int64)))
59+
case uint:
60+
f.SetCellInt(sheet, axis, int(value.(uint)))
61+
case uint8:
62+
f.SetCellInt(sheet, axis, int(value.(uint8)))
63+
case uint16:
64+
f.SetCellInt(sheet, axis, int(value.(uint16)))
65+
case uint32:
66+
f.SetCellInt(sheet, axis, int(value.(uint32)))
67+
case uint64:
68+
f.SetCellInt(sheet, axis, int(value.(uint64)))
5469
case float32:
5570
f.SetCellDefault(sheet, axis, strconv.FormatFloat(float64(value.(float32)), 'f', -1, 32))
5671
case float64:

excelize_test.go

+14-9
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,21 @@ func TestOpenFile(t *testing.T) {
6767
xlsx.SetCellValue("Sheet2", "F1", " Hello")
6868
xlsx.SetCellValue("Sheet2", "G1", []byte("World"))
6969
xlsx.SetCellValue("Sheet2", "F2", 42)
70-
xlsx.SetCellValue("Sheet2", "F2", int8(42))
71-
xlsx.SetCellValue("Sheet2", "F2", int16(42))
72-
xlsx.SetCellValue("Sheet2", "F2", int32(42))
73-
xlsx.SetCellValue("Sheet2", "F2", int64(42))
74-
xlsx.SetCellValue("Sheet2", "F2", float32(42.65418))
75-
xlsx.SetCellValue("Sheet2", "F2", float64(-42.65418))
76-
xlsx.SetCellValue("Sheet2", "F2", float32(42))
77-
xlsx.SetCellValue("Sheet2", "F2", float64(42))
70+
xlsx.SetCellValue("Sheet2", "F3", int8(1<<8/2-1))
71+
xlsx.SetCellValue("Sheet2", "F4", int16(1<<16/2-1))
72+
xlsx.SetCellValue("Sheet2", "F5", int32(1<<32/2-1))
73+
xlsx.SetCellValue("Sheet2", "F6", int64(1<<32/2-1))
74+
xlsx.SetCellValue("Sheet2", "F7", float32(42.65418))
75+
xlsx.SetCellValue("Sheet2", "F8", float64(-42.65418))
76+
xlsx.SetCellValue("Sheet2", "F9", float32(42))
77+
xlsx.SetCellValue("Sheet2", "F10", float64(42))
78+
xlsx.SetCellValue("Sheet2", "F11", uint(1<<32-1))
79+
xlsx.SetCellValue("Sheet2", "F12", uint8(1<<8-1))
80+
xlsx.SetCellValue("Sheet2", "F13", uint16(1<<16-1))
81+
xlsx.SetCellValue("Sheet2", "F14", uint32(1<<32-1))
82+
xlsx.SetCellValue("Sheet2", "F15", uint64(1<<32-1))
83+
xlsx.SetCellValue("Sheet2", "F16", true)
7884
xlsx.SetCellValue("Sheet2", "G2", nil)
79-
xlsx.SetCellValue("Sheet2", "G3", uint8(8))
8085
xlsx.SetCellValue("Sheet2", "G4", time.Now())
8186
// Test completion column.
8287
xlsx.SetCellValue("Sheet2", "M2", nil)

0 commit comments

Comments
 (0)