golang中,使用Excelize操作excel
现在我想导出一张excel表,代码如下:
func main() {
f := excelize.NewFile()
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
// 创建一个工作表
sheetName := "Sheet1"
index, err := f.NewSheet(sheetName)
fmt.Println(err)
// 在工作表中写入数据
f.SetCellValue(sheetName, "A1", "Name")
f.SetCellValue(sheetName, "B1", "Age")
f.SetCellValue(sheetName, "A2", "张三")
f.SetCellValue(sheetName, "B2", 30)
f.SetCellValue(sheetName, "A3", "李四")
f.SetCellValue(sheetName, "B3", 32)
// 设置工作簿的活动sheet
f.SetActiveSheet(index)
fmt.Println(f.GetCellValue(sheetName, "A1"))
fmt.Println(f.GetCellValue(sheetName, "B1"))
fmt.Println(f.GetCellValue(sheetName, "A2"))
fmt.Println(f.GetCellValue(sheetName, "B2"))
fmt.Println(f.GetCellValue(sheetName, "A3"))
fmt.Println(f.GetCellValue(sheetName, "B3"))
// 将excel保存到指定路径
if err := f.SaveAs("C:\\Users\\Administrator\\Desktop\\测试.xlsx"); err != nil {
fmt.Println(err)
}
}
执行代码后,桌面上有 测试.xlsx 的文件,但是打开之后是空的,里面没有数据,用SetCellValue 设置的那几个单元格的值也没有,明明用GetCellValue可以获取到值啊,说明已经设置进去了。但是为啥打开里面没数据呢,这是为什么?
go sdk是1.21.0版本,excelize是最新版本的,github.com/xuri/excelize/v2 v2.8.0