diff --git a/excelize.go b/excelize.go index 33e2449..bb0659a 100644 --- a/excelize.go +++ b/excelize.go @@ -37,8 +37,20 @@ func OpenFile(filename string) (*File, error) { // SetCellValue provide function to set int or string type value of a cell. func (f *File) SetCellValue(sheet string, axis string, value interface{}) { switch t := value.(type) { - case int, int8, int16, int32, int64, float32, float64: + case int: f.SetCellInt(sheet, axis, value.(int)) + case int8: + f.SetCellInt(sheet, axis, int(value.(int8))) + case int16: + f.SetCellInt(sheet, axis, int(value.(int16))) + case int32: + f.SetCellInt(sheet, axis, int(value.(int32))) + case int64: + f.SetCellInt(sheet, axis, int(value.(int64))) + case float32: + f.SetCellInt(sheet, axis, int(value.(float32))) + case float64: + f.SetCellInt(sheet, axis, int(value.(float64))) case string: f.SetCellStr(sheet, axis, t) case []byte: diff --git a/excelize_test.go b/excelize_test.go index 887fea8..1f215df 100644 --- a/excelize_test.go +++ b/excelize_test.go @@ -40,6 +40,12 @@ func TestExcelize(t *testing.T) { f1.SetCellValue("Sheet2", "F1", "Hello") f1.SetCellValue("Sheet2", "G1", []byte("World")) f1.SetCellValue("Sheet2", "F2", 42) + f1.SetCellValue("Sheet2", "F2", int8(42)) + f1.SetCellValue("Sheet2", "F2", int16(42)) + f1.SetCellValue("Sheet2", "F2", int32(42)) + f1.SetCellValue("Sheet2", "F2", int64(42)) + f1.SetCellValue("Sheet2", "F2", float32(42)) + f1.SetCellValue("Sheet2", "F2", float64(42)) f1.SetCellValue("Sheet2", "G2", nil) // Test completion column. f1.SetCellValue("Sheet2", "M2", nil)