首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >精细化pkg.go Golang

精细化pkg.go Golang
EN

Stack Overflow用户
提问于 2022-06-09 08:53:35
回答 1查看 267关注 0票数 1

我正在使用卓越的包装来操纵excel文件。我对formula公式函数有一个问题,它不应用公式。我粘贴了一个基本的例子,我只是尝试

代码语言:javascript
复制
func main() {

    f := excelize.NewFile()

    f.SetCellValue("Sheet1", "A1", "ID")
    f.SetCellValue("Sheet1", "B1", "Nome")
    f.SetCellValue("Sheet1", "D1", "Cognome")
    f.SetCellValue("Sheet1", "C1", "Email")
    f.SetCellValue("Sheet1", "D1", "IDENTITY_CARD_EXPIRE_DATE")
    f.SetCellValue("Sheet1", "E1", "TOTAL")

    f.SetCellValue("Sheet1", "E2", "1")
    f.SetCellValue("Sheet1", "E3", "5")
    f.SetCellValue("Sheet1", "E4", "10")

    //formula
    f.SetCellFormula("Sheet1", "E6", "=SUBTOTALE(9;E2:E8)")

    f.SetColWidth("Sheet1", "A", "D", 30)
    if err := f.SaveAs("Personal_Data.xlsx"); err != nil {
        log.Fatal(err)
    }
}

谢谢大家

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-10 21:11:28

您的代码有三个问题:

首先,将数值作为字符串添加。您应该使用整数作为第三个参数:

代码语言:javascript
复制
f.SetCellValue("Sheet1", "E2", 1)
f.SetCellValue("Sheet1", "E3", 5)
f.SetCellValue("Sheet1", "E4", 10)

其次,在公式中,您不应该添加等号,您必须使用逗号而不是分号,并且必须使用英文函数名称:

代码语言:javascript
复制
f.SetCellFormula("Sheet1", "E6", "SUBTOTAL(9,E2:E4)")

此外,您的公式中有一个循环引用,因为它位于E6单元格中,但是在示例中的范围是E2:E8,其中包含E6。所以你也必须改变这一点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72557403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档