How To Import Multiple Files With Multiple Sheets In Power Query

2016-12-24

WARNING!!! Mega POWER Ahead!

Note: When using the completed workbook, you will need to change the folder reference in the query to wherever you save the sample files. From the Query Editor, go to View > Advanced Editor and change the folder path.

If you’ve ever come across a situation where you’ve had multiple files of data with each file having data spread across multiple sheets then you’ll want to read on. In this post we’re going to explore how to use the From Folder Power Query to import multiple files with multiple sheets in each file and aggregate the data into one table.

In this example we have a series of sales files in a folder. Each file contains the sales for a given country and the files are named according to which country the sales data is from (i.e. Ireland.xlsx, England.xlsx, Luxembourg.xlsx, and Canada.xlsx). Each file has several sheets with different data in the same format. Each sheet contains the sales for a given sales person from the country and is named with the sales person’s name. As you could imagine, aggregating the data manually could be very time consuming as the number of files/sheets grows. This is where Power Query can shine.

Step 1: Create a From Folder query

Create a From Folder query.

  1. Go to the Power Query tab.
  2. Press the From File button.
  3. Select From Folder in the drop down menu.
  4. Select the folder path of the files you want to import.
  5. Press the OK button.

Check the preview data to ensure you it is the correct folder and files.

  1. A preview of the import data will appear. Check these are the correct files and folders.
  2. Press the Edit button.

Step 2: Remove data columns that aren’t needed

The From Folder query will include a lot of data such as file extension type, date modified, file location etc. that we do not need for our purposes. We can remove these to avoid clutter.

  1. Select the two columns we do need (Content and Name). Hold the Ctrl key and left click on the column headings to select them.
  2. Go to the Home tab.
  3. Press the Remove Columns button.
  4. Select Remove Other Columns from the drop down menu.

Step 3: Split the file name column

To get the country into our data, we will need to parse the text in our file name. Since our file naming convention is pretty simple (Country Name.xlsx) we can use the split column function using a period as the delimiter.

  1. Highlight the file name column.
  2. Go to the Transform tab.
  3. Press the Split Column button.
  4. Choose By Delimiter in the drop down menu.
  5. Choose Custom.
  6. Enter a period for the delimiter.
  7. Choose At the right most delimiter. This will only split the file name text using the right most period found (ie just before the file extention xlsx).
  8. Press the OK button.

We can remove the resulting column containing the extension part of the split file name.

  1. Select the column.
  2. Go to the Home tab.
  3. Press the Remove Columns button.
  4. Select Remove Columns from the drop down menu.

Step 4: Add column for file content

Now we will need to add a column to bring our content into the query.

  1. Go to the Add Column tab.
  2. Press the Add Custom Column button.
  3. Name the new column something like GetFileData.
  4. Type this formula into the formula area.
    Excel.Workbook([Content],true)
  5. Press the OK button.

Expand the new column to show all the items in the Content.

  1. Press the small double arrow icon in the right hand side of the column heading.
  2. Select Expand.
  3. Check Use original column name as prefix.
  4. Press the OK button.

We also need to expand resulting Data column to show all its elements.

  1. Press the small double arrow icon in the right hand side of the column heading.
  2. Select Expand.
  3. Check Use original column name as prefix.
  4. Press the OK button.

We now have all the columns needed plus a few extra. Delete any columns you don’t need and rearrange the order of columns if desired by dragging and dropping columns.

Power Query will guess the data type of each column, but you may need to correct these.

  1. Select the column you need to change the data type in.
  2. Go to the Home tab.
  3. Press Data type and select the data type from the drop down menu.

We were able to import all the data from multiple files and sheets into one table. We were also able to add in a country data column based on the file name and a sales person data column based on the sheet name. IF we add files to our folder or update data in a file, we can easily update our aggregated data by going into the Data tab and pressing the Refresh All button. Wow, Power Query can be very powerful!

About the Author

John MacDougall

John MacDougall

John is a Microsoft MVP and freelance consultant and trainer specializing in Excel, Power BI, Power Automate, Power Apps and SharePoint. You can find other interesting articles from John on his blog or YouTube channel.

Subscribe

Related Articles

Comments

1 Comment

  1. Sylvain

    Hello, When loading the files from the folders, I can see that PQ does so but not in alphabetical order. Is there a way of forcing this process in action. Can this be done on the source load?

    Reason I ask is that I have an error – to which I cannot seem to locate the reason (folder or file) for nor able to remove the error. Am unable to do a manual check on around 400 folders and numerous files to find where PQ thus stops the load.

Get The Latest News

Follow Us

Follow us on social media to stay up to date with the latest tips in Excel!

Pin It on Pinterest