报错原文
Execute failed: File does not exist: D:\data\固定资产.xlsx
Could not resolve the path
Access is denied
最后那条是另一回事 – 文件在,但没权限或者被别的程序占着。下面分开讲。
六个来源,按发生频率排
| 来源 | 怎么确认 |
|---|---|
| 用了绝对路径 | 路径里带盘符或以斜杠开头。换机器、换用户、放到服务器上都会断 |
| 相对路径的基准不对 | 相对路径相对于什么,取决于你选的路径类型。基准选错,看着对的路径也找不到 |
| 文件被移动或改名了 | 去资源管理器里对一眼。包括后缀,xls 和 xlsx 不是一回事 |
| 网络盘没挂上 | 映射盘符在别人机器上不存在,或者当时没连上 |
| 文件正被 Excel 打开着 | 报的是拒绝访问一类,不是找不到。关掉 Excel 再跑 |
| 大小写不一致 | Windows 不区分大小写,Linux 服务器区分。本地能跑、服务器上不能,多半是这个 |
治本做法:一律用相对路径
把数据放在工作流所在目录下的子文件夹里,路径写成相对形式。这样整个工作流连同数据一起导出,在任何机器上导入都能直接跑。
绝对路径D:\data\xxx.xlsx
→换机器就断
相对路径data/xxx.xlsx
→跟着工作流走
任意机器导入即可跑
验证办法:把工作流导出,在另一台机器上导入并直接执行。能跑通说明路径没问题。这一步值得在交付给客户或同事之前做一次 – 比出了问题再远程排查省事得多。
路径要跟着月份变怎么办
每期文件名带日期,写死路径意味着每期都要有人进去改。把月份做成流变量拼进路径,以后只改参数表。
写死: data/固定资产_2026-03.xlsx
参数化:data/固定资产_{月份变量}.xlsx
具体做法在流程重跑那一篇里有一个连跑两期的分步演示。
怎么预防
- 数据放在工作流目录下的固定子目录里,比如统一叫
data。约定成习惯,交接时不用解释。 - 不要用桌面路径和下载目录。这两个位置的内容随时会被清理或改动。
- 要放到服务器上定时跑的流程,文件名一律用小写英文 – 避开大小写和中文编码两类问题。
- 交付前做一次「导出到另一台机器导入执行」的验证。

