In our article The 4 Best WordPress Import Plugins, we examined the general features of the plugins available to import all or most WordPress data types.
In this article, we review the same plugins when importing data from an Excel file.
There are three main issues when trying to import from Excel:
Of these, the third issue is the most important because it is the most potentially time-consuming. So, what kind of layout and formatting issues are we talking about?
In a perfect world, each Excel cell would contain only one value, letting you simply map one Excel column to one WordPress target field.
However, sometimes you may need to map the values from multiple Excel columns into one target field, or a single cell may contain multiple values, as follows:
Here, the 2nd cell in an Excel row contains two values separated by a pipe ("|") character. In this situation, you may have to split those values during an import.
In other cases, an Excel cell may contain a complex data structure like a JSON or XML object that you will have to parse.
You may also encounter data that needs to be reformatted, such as percentage or date values.
In all of these cases, you'll need a plugin that lets you modify the incoming data during the import itself.
Let's see which plugin can fulfill all of these requirements.
WP All Import is the only plugin on this list that can handle every task described in the introduction.
First, it can read both the .xls and .xlsx Excel formats.
It can also map any incoming data element to any WordPress target field, split incoming data elements into multiple fields, or consolidate multiple data elements into one field. In this example, we build a complete address in the Description field by dragging over the Excel address, city, state, and zipcode data elements. Note, also, how we prefix this with the literal text label "Address":
Here, we use an inline PHP string function to delete any instances of a comma in an incoming title data element:
Note that we can handle just about any kind of text or numeric modifications this way because there are scores of PHP functions at our disposal.
Finally, here we use WP All Import's embedded function feature to create a custom function to round a dollar amount:
Once a custom function exists, you can apply it to any Excel data element just as you would a built-in PHP function. This capability even allows you to apply conditional logic to your Excel import.
This effectively means that you can modify incoming data in any way you wish, all by using features and functions that are built right into WP All Import's interface.
For more information, see Import into WordPress From Any CSV, XML, and Excel.
As with WP All Import, Woo Import Export has no problem reading Excel file formats.
It also lets you filter Excel data and combine multiple incoming data elements and literal values to populate one target field.
Where it falls short is that it doesn't allow you to modify incoming Excel data using just the plugin's interface features. Instead, you must create the PHP functions in your theme's function.php file, then use a shortcode to apply them to incoming data values.
This lets you achieve the same end results as WP All Import but with considerably less convenience and more code maintenance overhead.
Added to Woo Import Export's inability to import all WordPress data types, insufficient documentation, and rumblings of quality issues, you can see why we rank this plugin behind WP All Import. Still, it's a solid competitor in terms of features.
For more information, see Woo Import Export.
Unfortunately, Ultimate CSV Importer cannot import directly from either Excel file format (.xls or .xlsx), meaning you will first have to open your import file in Excel and save it as a CSV file. For more information, please see The 4 Best Plugins to Import CSV into WordPress.
This is another plugin that doesn't let you read Excel files. Again, see The 4 Best Plugins to Import CSV into WordPress for a CSV alternative.
It is unfortunate that more WordPress plugins can't directly import from Excel files, as only two of the four plugins on this list are up to the task.
There are other plugins that will directly import data from Excel files into specific WordPress data types, but their coverage of all WordPress data types is so limited that they don't belong on this list. You'll find them instead on the Best of list for the specific data type in question.
With only two plugins up to the Excel challenge, it is easy for us to declare the winner, and that is clearly WP All Import. It is the only plugin on this list that can read Excel file formats AND handle every possible import task.
Woo Import Export does a good job of handling a subset of import tasks, but it is still just a subset. Eventually, especially if you receive your Excel data from a third party over whom you have little or no control, you're going to run into a problem you can't fix with Woo Import Export.
You won't run into that problem with WP All Import.