符华- 2023-09-14 14:08 采纳率: 80%
浏览 177
已结题

golang中,使用Excelize导出excel时,为什么打开这个excel表格是空的,没有数据?

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

  • 写回答

4条回答 默认 最新

  • ash062 2023-09-14 14:59
    关注

    试了下代码没什么问题,感觉可以考虑excel方面的问题

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月23日
  • 已采纳回答 9月15日
  • 提问应符合社区要求 9月14日
  • 修改了问题 9月14日
  • 展开全部