gpt4 book ai didi

go - 如何使用 golang 和 excelize 将列添加到现有的 excel 工作表?

转载 作者:行者123 更新时间:2023-12-05 04:33:56 30 4
gpt4 key购买 nike

我有一些 go 代码可以打开电子表格并针对每一行使用行中的 lanid 来查找一些数据。我想将此派生数据添加为工作表中的两个新列。

打开工作表并遍历所有行都可以正常工作。我只是不知道如何添加新列。欢迎提出任何建议。

下面的代码抛出错误

panic :运行时错误:索引超出范围 [7],长度为 7

好像还没有添加列。

f, e := excelize.OpenFile("apps.xlsx")
if e != nil {
log.Fatal(err)
}

defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()

f.InsertCol("apps", "H")
f.InsertCol("apps", "H")

rows, err := f.GetRows("apps")
if err != nil {
fmt.Println(err)
return
}
for _, row := range rows {
lanid := row[3]

fmt.Print(lanid, "\t")
fmt.Println()
node := orgtee.lookup(lanid)
row[7] = node.title
row[8] = node.domain
}

最佳答案

可以通过SetCellValue函数设置。

这是例子。

    for i := 1; i < len(rows); i++ {
f.SetCellValue("apps", "G"+strconv.Itoa(i), "coba1")
f.SetCellValue("apps", "H"+strconv.Itoa(i), "coba2")
f.SetCellValue("apps", "I"+strconv.Itoa(i), "coba3")
}

rows, err = f.GetRows("apps") // call GetRows again to update rows value
if err != nil {
fmt.Println(err)
return
}
fmt.Println(rows)

关于go - 如何使用 golang 和 excelize 将列添加到现有的 excel 工作表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71276493/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com