0;g6\"\ ";j6>0);\"o\";\"x\");\"\")")],我确定公式是正确" />
登录
首页 >  Golang >  Go问答

Golang中使用excelize时遇到的公式错误

来源:stackoverflow

时间:2024-02-15 16:00:18 277浏览 收藏

golang学习网今天将给大家带来《Golang中使用excelize时遇到的公式错误》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

使用这样的公式时出现错误 [file.setcellformula(sheetname, "a6", "=if(c6<>\"\";if(or((f6-e6)>0;g6<>\"\ ";j6>0);\"o\";\"x\");\"\")")],我确定公式是正确的,我已从工作 excel 文件复制了此公式

func excel() error {
    sheetName := "022022"

    if IsFileExists("./excels/Rikai_TimeSheet_202202_SonNguyen.xlsx") {
        err := os.Remove("./excels/Rikai_TimeSheet_202202_SonNguyen.xlsx")
        if err != nil {
            return err
        }
    }

    file, err := excelize.OpenFile("./excels/Rikai_TimeSheet_202202_SonNguyen_template.xlsx")
    if err != nil {
        return err
    }
    defer func() {
        _ = file.Close()
    }()
    

    err = file.SetCellFormula(sheetName, "A6", "=IF(C6<>\"\";IF(OR((F6-E6)>0;G6<>\"\";J6>0);\"O\";\"X\");\"\")")
    if err != nil {
        return err
    }

    f, err := os.OpenFile("./excels/Rikai_TimeSheet_202202_SonNguyen.xlsx", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0600)
    if err != nil {
        return err
    }

    err = file.Write(f)
    if err != nil {
        return err
    }
    return nil
}

打开文件时弹出错误


正确答案


尝试用逗号 (,) 替换这些分号 (;)。
(作为一般想法,始终使用美国标准,而不是您当地的标准)

尝试使用反引号`而不是转义引号:

err = file.SetCellFormula(sheetName, "A6", `=IF(C6<>"";IF(OR((F6-E6)>0;G6<>"";J6>0);"O";"X");"")`)

以上就是《Golang中使用excelize时遇到的公式错误》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>