Power Automate:如何处理非标准Excel日期避免流程中断?
Power Automate日期转换容错处理方案
当Office Script返回非预期格式的日期值时,可通过Power Automate的条件判断函数实现容错,避免流程中断并返回null。
核心容错表达式
if( isInt(outputs('Run_script_2')?['body/result/DeliveryDate']), addDays('1899-12-30', int(outputs('Run_script_2')?['body/result/DeliveryDate']), 'MM/dd/yy'), null )
逻辑说明
isInt()检查脚本输出的DeliveryDate是否为有效整数(Excel日期序列化值的本质是整数)- 若为有效整数,执行原有的
addDays日期转换逻辑 - 若为非整数格式(如
8.9.2022这类字符串),直接返回null,避免流程因类型转换失败中断
扩展处理(可选)
如果脚本可能返回其他格式的日期字符串,可额外增加字符串转日期的容错逻辑,示例如下:
if( or( isInt(outputs('Run_script_2')?['body/result/DeliveryDate']), not(equals(parseDateTime(replace(outputs('Run_script_2')?['body/result/DeliveryDate'], '.', '/'), 'en-US'), null)) ), if( isInt(outputs('Run_script_2')?['body/result/DeliveryDate']), addDays('1899-12-30', int(outputs('Run_script_2')?['body/result/DeliveryDate']), 'MM/dd/yy'), formatDateTime(parseDateTime(replace(outputs('Run_script_2')?['body/result/DeliveryDate'], '.', '/'), 'en-US'), 'MM/dd/yy') ), null )
该表达式会先尝试将带点的日期字符串替换为斜杠后解析,成功则转换为目标格式,失败返回null。
内容的提问来源于stack exchange,提问作者Robby
相关产品推荐
相关产品推荐

