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

SharePoint中Excel跨文件相对路径引用报错问题求助

修复SharePoint路径双斜杠问题,实现跨文件夹Excel数据引用

问题根源

原Excel公式中TEXTSPLIT的参数顺序错误,导致分割路径时生成包含空值的数组,后续TEXTJOIN拼接时产生多余双斜杠;同时SharePoint在线路径对格式要求严格,双斜杠会被判定为无效绝对路径,触发DataFormat.Error。

解决方案1:修正Excel路径生成公式

调整A1-A4的公式,避免生成多余斜杠:

  1. A1(获取当前文件完整路径)

    =CELL("filename")
    

    输出示例:https://contoso.sharepoint.com/sites/sitename/Shared Documents/General/my_folder/[file1.xlsx]my_sheet

  2. A2(提取当前文件所在文件夹路径)

    =LEFT(A1, FIND("[", A1)-1)
    

    输出示例:https://contoso.sharepoint.com/sites/sitename/Shared Documents/General/my_folder/

  3. A3(获取目标文件所在的上级文件夹路径)
    修正TEXTSPLIT参数顺序,忽略空值后再拼接:

    =TEXTJOIN("/", TRUE, DROP(TEXTSPLIT(A2, "/",, TRUE),,1)) & "/"
    

    输出示例:https://contoso.sharepoint.com/sites/sitename/Shared Documents/General/

    或者用更简洁的替代公式(避免分割拼接):

    =LEFT(A2, LEN(A2)-LEN(RIGHT(A2, FIND("/", SUBSTITUTE(A2, "/", "|", LEN(A2)-LEN(SUBSTITUTE(A2, "/", "")))))))
    
  4. A4(生成目标文件完整路径)

    =A3 & "my_other_folder/file2.xlsx"
    

    输出示例:https://contoso.sharepoint.com/sites/sitename/Shared Documents/General/my_other_folder/file2.xlsx

解决方案2:PowerQuery中增加路径清理步骤

即使公式存在小误差,也可通过PowerQuery的URL标准化函数自动修复路径:

修改高级编辑器代码,添加CleanedFilePath步骤:

let
    FilePath = Excel.CurrentWorkbook(){[Name="ABS_PATH"]}[Content]{0}[Column1],
    // 标准化URL,自动去除多余斜杠
    CleanedFilePath = Uri.BuildString(Uri.Parts(FilePath)),
    TabName = Excel.CurrentWorkbook(){[Name="TAB_NAME"]}[Content]{0}[Column1],
    Source = Excel.Workbook(File.Contents(CleanedFilePath), null, true),
    Sheet_fromMec = Source{[Item=TabName,Kind="Sheet"]}[Data]
in
    Sheet_fromMec

如果Uri函数无法使用,可改用文本替换:

CleanedFilePath = Text.Replace(Text.Replace(FilePath, "//", "/"), "https:/", "https://"),

验证效果

修正后生成的路径将是标准的单斜杠格式,PowerQuery可正常识别为有效SharePoint绝对路径,实现跨文件夹数据引用,且路径结构可复用至其他站点(如sitename_2)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 19:05:12