如何在Power Apps中显示Excel表中[hh]:mm格式的数据?
解决Power Apps中Excel时长[hh]:mm格式显示问题
问题原因
Excel中的[hh]:mm是自定义时长格式,实际存储的是代表天数的小数(1天=1,1小时=1/24)。你之前用的Text(DataSource.ColumnName, "[$-en-US][hh]:mm")会把这个数值识别为日期时间(比如1.270833天对应1900-01-02 06:30),只会显示单日的小时数,而非总时长,所以无法生效。
解决方案
根据Excel存储的数值特性,用以下两种方法实现正确显示:
方法1:通过数值计算拼接格式
使用公式直接计算总小时和分钟数,拼接成[hh]:mm格式:
Text(Floor(你的数据源.目标列 * 24), "00") & ":" & Text(Round(Mod(你的数据源.目标列 * 24, 1) * 60, 0), "00")
你的数据源.目标列 * 24:将天数转换为总小时数Floor(...):提取小时整数部分,"00"确保两位数显示Mod(...,1)*60:将小时的小数部分转换为分钟数,Round(...,0)取整后用"00"确保两位数显示- 最终拼接为超过24小时也能正确显示的时长格式(如30:30)
方法2:使用Duration函数转换
通过总秒数创建Duration对象后格式化:
Text(Duration(0, 0, 你的数据源.目标列 * 86400), "[$-en-US][hh]:mm")
你的数据源.目标列 * 86400:将天数转换为总秒数(1天=86400秒)Duration(0,0,总秒数):创建时长对象Text(..., "[$-en-US][hh]:mm"):格式化显示总小时数和分钟数,支持超过24小时的场景
内容的提问来源于stack exchange,提问作者Urvaksh Mogrelia
相关产品推荐
相关产品推荐

