Simple CSV/XLS Exporter


This plugin allows you to export your posts to CSV or XLS file, through a simple link/button, from either backend or frontend.
Make sure you are using PHP 7.3, if you see any errors, older versions will not be supported anymore.


  • any custom post type
  • custom post status
  • custom taxonomies
  • custom fields
  • WooCommerce products, orders, status, categories and fields
  • export only current user posts
  • export specific user ID posts
  • export specific post IDs

You can set the default post type, with its taxonomies and custom fields, that you wish to export, from the Settings page.

After that, anytime you will use the urls for a CSV file, or, you will get that post type data.

“You must choose the post type and save the settings before you can see the taxonomies or custom fields for a custom post type. Once the page reloads, you will see the connected taxonomies and custom fields for the post type.”

If you want to export from a different post type than the one saved in these settings, also from frontend, use the url for a CSV file, or to get a XLS.

Please check the Plugin’s FAQ for all possible options and available custom parameters you can use.

When opening the exported xls, Excel will prompt the user with a warning, but the file is perfectly fine and can then be opened. Unfortunately this can’t be avoided, read more here.


Check the FAQ before opening new threads in the forum!

Contact me if you want a custom version of the plugin, for a fee (contact form at



  • Settings Page
  • Settings Page
  • Settings Page


  1. Upload to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Tools -> CSV/XLS Export to access the plugins settings and export files.


How do I choose my post type, taxonomies and custom fields?

Head over to the plugin’s settings page, choose the post type. Then click “Save Changes” at the end of the page.

At this point, a list of the custom taxonomies and fields associated with that post type will appear.

Choose all of the fields you wish to export (use CTRL+click to select multiple ones) and click “Save Changes” again.

Then click on the “Export” buttons to get your CSV or XLS file.

I don’t see any custom fields on the Settings page. How come?

You mush first choose your post type and click “Save Changes” before you can see a list of the associated custom fields.

Be sure to click “Save Changes” again in order to save your choices.

Can I export to CSV from frontend?

Yes, just place this URL where you want the download link/button to be: <a class="btn" href="?export=csv">Export to CSV</a>

This will export as per plugin Settings.

Can I export to XLS from frontend?

Yes, just place this URL where you want the download link/button to be: <a class="btn" href="?export=xls">Export to XLS</a>

This will export as per plugin Settings.

Can I change the post type, from the frontend URL?

Yes, use the URL var ?post_type=yourcustomposttypeslug

Keep in mind however, that it will still look for the taxonomies and custom fields as per plugin Settings.


Can I only export parents or children?

Yes, use the URL var ?only=x, where x is either children or parents.

Default is both.


Does it support cyrillic characters? (eg. Russian)

Yes, but only for the CSV format (for now).

Can I export only posts with a certain post status?

Yes, as of v. 1.3.8.

You can set it up from the Settings page as default, or add to your url ?post_status=nameofstatus


Can I export only posts from a specific user, or the current one?

Yes, as of v. 1.4.

To export the file with content from the currently logged-in user, add this to your url ?user

To export the file of a specific user ID, use this in your url ?user=x, where X is the user ID you need.

Default is all users.


Can I export specific posts?

Yes, as of v. 1.5.

You need the parameter ?specific_posts in the export url.



Ogwekkuminogumu (Museenene) 4, 2019
Considering the price it's great. I'd still like some more features (specifically filtering based on custom tax), and so I may just need to make my own functions. But for now it's great!
Ogwekkumi (Mukulukusa) 9, 2019
Exporting no results (CSV and XLS), even though I have hundreds of pages.
Ogwomwenda (Mutunda) 19, 2019
Many thanks to the author, As its name, the plugin works out just great, a few minutes of available selections, then boom! you get what you need. Would like to ask for a tiny feature update, please include unicode text format export. As in Vietnamese, for example: Original post title: Bàn Ủi Hơi Nước Philips GC1426/79 – Hàng chính hãng [Quà Tặng Mẹ] Export result: Bàn ?i H?i N??c Philips GC1426/79 - Hàng chính hãng [Quà T?ng M?] regards,
Ogwomunaana (Muwakanya) 3, 2018
Simple CSV/XLS Exporter does exactly what it is supposed to do: exporting specified content to CSV or XLS files. Nicely embedded into the dashboard, works right out of the box, no annoying limitations to force users to buy any premium version. I couldn't find any negative thing.
Read all 17 reviews

Contributors & Developers

“Simple CSV/XLS Exporter” is open source software. The following people have contributed to this plugin.



  • Fixed PHP < 7 error: Argument 1 passed to simple_csv_xls_exporter_generate_file_name() must be an instance of string, string given.
  • Plugin will only support PHP 7.3+ from now on.


  • Pulled GabrielFalkoski’s merge request
  • Added a Hook Filter to handle content to export ccsve_export_returns


  • Fix for “Warning: Use of undefined constant SIMPLE_CSV_EXPORTER_VERSION”


  • Fixed action url from plugins page
  • Fixed PHP syntax error (unexpected ?)


  • Merged with thaikolja’s fork and refactoring
  • Added specific_posts parameter (Special thanks to: akforsyt)


  • Plugin Refactoring (Special thanks to: thaikolja)
  • Replaced spaces with tabs for intendation.
  • Renamed classes (SIMPLE_CSV_EXPORTER to Simple_CSV_Exporter) to avoid confusion with constants.
  • Added documentation to some functions and classes.
  • Used strict comparison (===) where needed.
  • Removed some comment areas used for development purposes.
  • Added and rewrote some comments.
  • Added textdomain and made several strings localizable.
  • Restructured files, functions and classes and put them in appropriate directories.
  • Renamed some constants to be more accurate.
  • Added filter simple_csv_xls_exporter_export_file_name


  • Added option to set custom Delimiter
  • Fixed issue with html entities


  • Fixed PHP 7.1 Fatal error 7.1 bug (Uncaught ArgumentCountError: Too few arguments to function do_settings_fields() )


  • Minor fixes


  • Set error_display to 0 during process


  • Fixed bug Parse error: syntax error, unexpected ‘[‘ in …./woo/wp-content/plugins/simple-csv-xls-exporter/process/simple_csv_xls_exporter_csv_xls.php on line 19


  • Added support for ANY post type (including internal/non-public ones)
  • Added labels for post types instead of slug
  • Added support for WooCommerce Orders
  • Removed PHP format error above WP default fields settings box


  • Added support for current user download
  • Added support for specific user ID download

  • Fixed a minor PHP notice


  • Fixed bugs: Illegal string offset ‘selectinput’ in simple-csv-xls-exporter\settings.php on line 147, in_array() expects parameter 2 to be array, string given in simple-csv-xls-exporter\settings.php on line 147, syntax error, unexpected ‘[‘ in simple-csv-xls-exporter/settings.php on line 157


  • Added support for Post Status
  • Added option for Backend only export
  • Minor Fixes


  • Added support for WooCommerce
  • Fixed some bugs when not finding any selected custom fields/taxonomies
  • Fixed XLS not exporting correctly since 1.3.2
  • Support for German characters for XLS and CSV


  • Added url var to only export parents or children
  • Added cyrillic characters support for CSV
  • Restructured part of the plugin
  • Saved options get removed when uninstalling plugin


  • Fixed issue with new custom fields not showing
  • Better caching of metas (24h)


  • Added xls support
  • Fixed bug with plugin not finding taxonomies during export because launched too early (init->wp_loaded)


  • Fixed issue with SYLK format (ID in capital letters gives Excel error for CSV)
  • Added url parameter &post_type, to use in stand-alone url


  • Introduce taxonomy and default WordPress field export capabailities


  • Fixed bug that limited number of posts that could be exported


  • Initial release of plugin