gpt4 book ai didi

powerquery - Power Query 不会从 .xls 文件中读取

转载 作者:行者123 更新时间:2023-12-05 06:37:54 25 4
gpt4 key购买 nike

我使用的是 Office 2010。我有一个查询,它将来自文件夹中多个 Excel 文件的数据组合在一起。 “.xlsx”文件加载正常,但是当文件夹中存在“.xls”文件时,查询将不会运行(给出错误消息:“无法从数据库中检索数据”。在查询编辑器中,当我单击错误文件的行,我在这里看到消息:Error Message)。将文件重新保存为“.xlsx”是可行的,但我更愿意按原样使用它们。

我在这里安装了 MS Access 数据库引擎:http://www.microsoft.com/en-us/download/details.aspx?id=13255但这似乎没有帮助。

还有其他想法吗?谢谢!编辑:添加了两个查询。第一个是应用于每个文件的查询,第二个是组合它们的查询。

查询“从供应商 CMRT 转换样本文件”:

let
Source = Excel.Workbook(#"Sample File Parameter1", null, true),
#"Smelter List_Sheet" = Source{[Item="Smelter List",Kind="Sheet"]}[Data],
#"Removed Top Rows" = Table.Skip(#"Smelter List_Sheet",3),
#"Promoted Headers" = Table.PromoteHeaders(#"Removed Top Rows", [PromoteAllScalars=true]),
#"Removed Other Columns" = Table.SelectColumns(#"Promoted Headers",{"Smelter Identification Number Input Column", "Metal (*)", "Smelter Look-up (*)", "Comments"}),
#"Filtered Rows" = Table.SelectRows(#"Removed Other Columns", each [#"Metal (*)"] <> null and [#"Metal (*)"] <> "")
in
#"Filtered Rows"

查询“供应商 CMRT”:

let
Source = Folder.Files("O:\Supplier CMRTs"),
#"Invoke Custom Function1" = Table.AddColumn(Source, "Transform File from Supplier CMRTs", each #"Transform File from Supplier CMRTs"([Content])),
#"Filtered Rows" = Table.SelectRows(#"Invoke Custom Function1", each [Extension] <> ".txt"),
#"Renamed Columns1" = Table.RenameColumns(#"Filtered Rows", {"Name", "Source.Name"}),
#"Removed Other Columns1" = Table.SelectColumns(#"Renamed Columns1", {"Source.Name", "Transform File from Supplier CMRTs"}),
#"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Transform File from Supplier CMRTs", Table.ColumnNames(#"Transform File from Supplier CMRTs"(#"Sample File")))
in
#"Expanded Table Column1"

最佳答案

我发现,当我合并二进制文件时,如果我选择示例二进制参数而不是工作表,并从那里开始工作,它不会对 xls 犹豫不决与 xlsx 文件。但在我什至可以为文件夹组合二进制文件之前,我必须只过滤到 xlsx 文件。因此,在我成功合并二进制文件后,我必须返回到应用步骤并删除我只过滤到 xlsx 文件的步骤。

以下是一些带屏幕剪辑的分步操作:

我从一个文件夹中的 4 个 Excel 工作表开始,称为新文件夹:

enter image description here

这是他们的数据:

enter image description here enter image description here enter image description here enter image description here

从文件夹建立一个新的来源。 不要点击合并和编辑。点击编辑按钮:

enter image description here

Extension 列过滤为仅 xlsx 文件:

enter image description here

右键单击Content 列的列名称,然后单击Remove Other Columns,这样您将只有一个Content专栏:

enter image description here

点击enter image description here合并二进制文件。然后单击文件夹级别的 Sample Binary Parameter 并单击 OK:

enter image description here

转到您的应用步骤并删除过滤行步骤,您在其中过滤为仅 xlsx 文件:更改...

enter image description here到... enter image description here

同时从应用步骤中删除更改类型步骤,因为它现在不起作用也不需要。

现在您的查询应该适用于您的 xlsx xls 文件。

为了完整起见,这是我在这一步所拥有的(我的所有 4 个文件每个都只有一张工作表,每个文件都称为 Sheet1,这就是为什么您看到 4 Sheet1 姓名):

enter image description here

无论如何,名称对我来说并不重要,所以我删除了 Name 列并展开了 Data 列以获取:

enter image description here

你应该认得这些数据就是上面所有 4 个工作表中的数据。

关于powerquery - Power Query 不会从 .xls 文件中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47042488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com