excel - 使用 excelize Golang 时公式错误

标签 excel go formula excelize

使用类似 [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
}

Error popup when open the file

最佳答案

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

关于excel - 使用 excelize Golang 时公式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70986640/

相关文章:

networking - Go 中的点对点网络

r - 使用字符串作为 ipwtm 函数的公式?

java - 如何将javadoc转换为excel

javascript - 如何将 HTML 表格导出到具有不同工作表的单个 Excel 工作簿?

excel - 创建zip错误: Namespace method fails on IShellDispatch

formula - 在 LotusScript 中禁用表单字段或使用启用输入的公式

Sharepoint 计算字段的公式创建者

vba - Excel-VBA 命名范围行总和

go - 为什么 struct Client(在 coreos/etcd/clientv3/client.go 中)有 PUT 方法

email - 如何在 Go 中解码邮件正文