V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
faketemp
V2EX  ›  问与答

golang Excelize 自定义单元格格式如何刷新

  •  
  •   faketemp · 2021-08-24 20:39:40 +08:00 · 447 次点击
    这是一个创建于 989 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用 golang 的 Excelize 包处理 xlsx 文件时,B 列原本文本类型格式"01-APR-14",修改 B 列类型为"yyyy-mm-dd"测试代码如下

    package main
    
    import (
    	"fmt"
    	"github.com/xuri/excelize/v2"
    )
    
    func main() {
    	f, _:= excelize.OpenFile("test.xlsx")
    	sheet1 := f.GetSheetName(0)
    	style, _:= f.NewStyle(`{"custom_number_format": "yyyy-mm-dd"}`)
    	f.SetColStyle(sheet1, "B", style)
    
    	f.SaveAs("result.xlsx")
    }
    
    

    问题: "result.xlsx"文件 B 列单元格格式确实显示为"自定义 yyyy-mm-dd"了,可是 B 列值还是显示为"01-APR-14",需要逐个双击单元格或者数据分列选日期来刷新,B 列才正确显示为"2014-04-01"样式——Excelize 中有什么办法可以触发 Excel 格式刷新???

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1088 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:45 · PVG 06:45 · LAX 15:45 · JFK 18:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.