将多个工作簿合并为一个工作簿的M函数
时间: 2023-10-26 14:07:22 浏览: 52
您可以使用 `M` 函数将多个 Excel 工作簿合并为一个工作簿。以下是一个示例函数,它将一个文件夹中的所有 Excel 文件合并为一个工作簿:
```
let
// 设置文件夹路径和文件扩展名
folderPath = "C:\Excel Files\",
extension = "*.xlsx",
// 获取文件夹中的所有文件
files = Folder.Files(folderPath),
// 过滤文件,只保留扩展名为 .xlsx 的文件
filteredFiles = List.Select(files, each [Extension] = extension),
// 读取文件中的工作表,并合并为一个表格
tables = List.Transform(filteredFiles, each Excel.Workbook(File.Contents([Folder Path] & [Name]))),
combinedTable = Table.Combine(tables)
in
combinedTable
```
这个函数使用 `Folder.Files` 获取指定文件夹中的所有文件,然后使用 `List.Select` 过滤出扩展名为 `.xlsx` 的文件。接着,使用 `Excel.Workbook` 读取每个文件中的工作表,并使用 `Table.Combine` 将所有表格合并为一个表格。最后,将合并后的表格作为结果返回。
请注意,这个函数需要在 Power Query 编辑器中使用。您可以将其复制到一个新的 Power Query 查询中,并根据需要修改文件夹路径和文件扩展名。