单元格值的电源查询文件路径

时间:2019-11-01 07:44:06

标签: excel filepath powerquery

我的excel工作簿中有一个名为ResultsTable的表,该表中有一个文件路径 enter image description here

  

C:\ Users \ XXXX \ OneDrive-WORK \ Digital   土壤\数据\结果

我有一个Query,它应该从文件夹中获取所有excel文件,并将数据转换为类似如下的有用内容:

let
    Source = Folder.Files("ResultsTable"),
    #"Filtered Hidden Files1" = Table.SelectRows(Source, each [Attributes]?[Hidden]? <> true),
    #"Invoke Custom Function1" = Table.AddColumn(#"Filtered Hidden Files1", "Transform File from Analyseresultater", each #"Transform File from Analyseresultater"([Content])),
    #"Renamed Columns1" = Table.RenameColumns(#"Invoke Custom Function1", {"Name", "Source.Name"}),
    #"Removed Other Columns1" = Table.SelectColumns(#"Renamed Columns1", {"Source.Name", "Transform File from Analyseresultater"}),
    #"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Transform File from Analyseresultater", Table.ColumnNames(#"Transform File from Analyseresultater"(#"Sample File"))),
    #"Removed Other Columns" = Table.SelectColumns(#"Expanded Table Column1",{"Key", "Attribute", "Value"})
in
    #"Removed Other Columns"

但是我得到了错误

  

DataFormat.Error:提供的文件夹路径必须是有效的绝对路径   路径。细节:       结果表

我希望有人可以帮助我解决这个错误:)

编辑:添加了有关如何设置表格的屏幕截图

1 个答案:

答案 0 :(得分:1)

您可以像这样修改代码,

let
    FilePath = Excel.CurrentWorkbook(){[Name="ResultsTable"]}[Content][Path to results]{0},
    Source = Folder.Files(FilePath),

在原始代码中,Folder.Files()接收的是文字文本“ ResultsTable”,而不是ResultsTable中的单元格值。您需要首先使用Excel.CurrentWorkbook()选取单元格值,然后将其传递给Folder.Files()