Excel正在Power Query中获取当前目录



我一直在尝试将当前目录放入Power Query。但不知怎么的,它不起作用。如何获取当前目录,使查询的路径动态,以便在文件移动到新目录的情况下,将数据检索到Power Query中不会有问题。这是我尝试过的代码:

let
Source = Excel.CurrentWorkbook(){[Name="pathTable"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Path", type text}}),
Path = Table.ReplaceValue(#"Changed Type","[PathForSummaryFiles.xlsx]Path","summary.xlsx",Replacer.ReplaceText,{"Path"})
GetFilesFromFolder = Folder.Files(Path)
in
GetFilesFromFolder

上面的代码抛出一个错误。

这就是您想要做的吗?

在excel中,使用公式命名单元格DirectoryRangeName。。。名称管理器

在该单元格中,输入一个公式来捕获该文件的路径

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

或者输入您自己的路径,例如:

c:directorysubdirectory

然后,在powerquery中,读取该值,然后按照您想要引用的方式进行组合,例如

let Directory =  Excel.CurrentWorkbook(){[Name="DirectoryRangeName"]}[Content]{0}[Column1],
Source = Excel.Workbook(File.Contents(Directory & "abs.xlsx"), null, true)
in  Source

let Directory =  Excel.CurrentWorkbook(){[Name="DirectoryRangeName"]}[Content]{0}[Column1],
GetFilesFromFolder = Folder.Files(Directory)
in GetFilesFromFolder

您可以简单地放置一个完整的文件路径,如c:\temp\a.xlsx,而不是区域名称中的公式

然后在powerquery 中读取

let FilePath=  Excel.CurrentWorkbook(){[Name="DirectoryRangeName"]}[Content]{0}[Column1],
Source = Excel.Workbook(File.Contents(FilePath), null, true)
in  Source

最新更新