You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EPPlus设置[h]:mm:ss格式后单元格值未更新,SUM函数失效

解决EPPlus设置[h]:mm:ss格式不生效的问题

问题根源

你将timeWorked定义为string类型,Excel的时间格式仅对**数值类型(日期/时间值)**生效。字符串数据即使设置了格式,也不会被Excel识别为时间,必须手动回车触发解析才会显示正常,同时字符串无法被SUM函数计算,因为SUM只对数值有效。

解决方案

  1. 修改属性类型
    将实体类的timeWorked从string改为TimeSpan(推荐)或double(Excel中时间以小数存储,1代表一整天):

    [EpplusTableColumn(Order = 2, NumberFormat = "[h]:mm:ss")]
    public TimeSpan timeWorked { get; set; }
    
  2. 转换原始字符串数据
    如果你的原始数据是字符串格式(如"12:34:56"),需要先转为TimeSpan再赋值:

    string rawTimeStr = "12:34:56";
    TimeSpan.TryParse(rawTimeStr, out var timeSpan);
    var listItem = new YourEntity { timeWorked = timeSpan };
    
  3. 验证效果
    修改后,EPPlus会自动将TimeSpan转换为Excel可识别的时间数值,设置的[h]:mm:ss格式会直接生效,无需手动回车,且SUM函数能正常计算总时长。

内容的提问来源于stack exchange,提问作者LHS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:21:01