CSV to html


CSV to html makes it easy to fetch content from csv-file(s) and put content from that file/those files and display the html(table) on a page with a single shortcode. The strength
of this plugin is that it does fetch the actual content directly from the file(s) without having to import/export any file(s). So any changes in the file(s) will be
updated when you view your table(s) with this plugin. Another strength from v1.60 is it has responsive table(s) out of the box in the free version of this plugin.

If you created files to use with the Visualizer Plugin, those are formatted in a specific way and if you have saved the csv-file(s) from excel, the csv looks
different. CSV to html handles both these types and it’s fairly easy to extend the plugin to use other mechanisms to identify a specific type of format of the csv-file(s).

If using more then one file, content from all files are mixed into one single table – rather then creating two tables. It’s possible to fetch information from csv files from webservers upload folder (or a subfolder to the uploadsfolder) or
from an external source (domain).

Look at instructions and example here: http://wibergsweb.se/plugins/csvtohtml/
If you like the plugin, please consider donating. Please donate to paypal info@wibergsweb.se. Amount does not matter. I like coffee! 🙂

Example of usage

shortcodes in post(s)/page(s)

  • [csvtohtml_create source_type=”visualizer_plugin” path=”lan” source_files=”skane.csv;smaland.csv;lappland.csv”]
  • [csvtohtml_create source_type=”guess” path=”excelfolder” source_files=”excel1.csv;excel2.csv”]
  • [csvtohtml_create source_type=”guess” path=”excelfolder” source_files=”*.csv”]
  • [csvtohtml_create source_type=”guess” path=”excelfolder” source_files=”excel1;excel2″ debug_mode=”yes”]
  • [csvtohtml_create source_type=”guess” path=”excelfolder” source_files=”excel1.csv;excel2.csv” debug_mode=”yes” fetch_lastheaders=”3″]
  • [csvtohtml_create source_type=”guess” path=”excelfolder” source_files=”excel1;excel2;http://wibergsweb.se/map/sweden.csv” debug_mode=”yes”]
  • [csvtohtml_create source_type=”guess” path=”excelfolder” source_files=”excel1;excel2;http://wibergsweb.se/map/sweden.csv” include_cols=”5,6,7,12-14″ eol_detection=”auto” debug_mode=”yes”]
  • [csvtohtml_create source_type=”guess” path=”excelfolder” source_files=”excel1;excel2;http://wibergsweb.se/map/sweden.csv” exclude_cols=”3″ debug_mode=”yes” eol_detection=”CR/LF”]
  • [csvtohtml_create html_class=”tablesorter” source_type=”guess” path=”excelfolder” source_files=”excel1;excel2;http://wibergsweb.se/map/sweden.csv” exclude_cols=”3,7,9,11-13″]
  • [csvtohtml_create source_type=”guess” path=”excelfolder” source_files=”whatever.csv” csv_delimiter=”;”]
  • [csvtohtml_create source_type=”guess” source_files=”http://wibergsweb.se/map/sweden.csv” debug_mode=”no” convert_encoding_from=”Windows-1252″ convert_encoding_to=”UTF-8″]
  • [csvtohtml_create source_type=”guess” source_files=”http://wibergsweb.se/map/sweden.csv” debug_mode=”no” convert_encoding_to=”UTF-8″]
  • [csvtohtml_create source_type=”guess” source_files=”http://wibergsweb.se/map/sweden.csv” debug_mode=”no” sort_cols=”1,2″ sort_cols_order=”desc,asc”]
  • [csvtohtml_create source_type=”guess” source_files=”zins.csv” csv_delimiter=”,” eol_detection=”auto” debug_mode=”no” filter_data=”1.67″ filter_col=”2″]
  • [csvtohtml_create source_type=”guess” source_files=”zins.csv” csv_delimiter=”,” eol_detection=”auto” debug_mode=”no” table_in_cell_cols=”2-3″ include_cols=”1″ table_in_cell_wrapperclass=”Productinfo”]

Example css

  • .csvtohtml th.colset-1 {background:#ff0000 !important;}
  • .csvtohtml .even{background:#ddd;}

Look at instructions and example here: http://wibergsweb.se/plugins/csvtohtml/
If you like the plugin, please consider donating.


  • Screenshot - file structure with folder nordic in upload-folder
  • Screenshot - [csvtohtml_create path="nordic" source_files="denmark" source_type="guess" debug_mode="no"] OR [csvtohtml_create path="nordic" source_files="denmark.csv" source_type="guess" debug_mode="no"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="*.csv" source_type="guess" debug_mode="no"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="*.csv" source_type="guess" debug_mode="no" filter_data="2010" filter_col="1"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="denmark;iceland" source_type="guess" debug_mode="no"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="denmark;iceland" source_type="guess" debug_mode="no"] with css. CSS .csvtohtml tr.rowset-7 .colset-2 { background: #27b399; color: #fff; font-weight:600; }
  • Screenshot - [csvtohtml_create path="nordic" source_files="denmark;iceland" source_type="guess" title="Nordic growth" debug_mode="no"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="denmark" source_type="guess" debug_mode="no" sort_cols="2" sort_cols_order="asc"] AND [csvtohtml_create path="nordic" source_files="iceland" source_type="guess" debug_mode="no" sort_cols="1,2" sort_cols_order="desc,asc"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="nordic.csv" source_type="guess" debug_mode="no" sort_cols="1" sort_cols_order="asc" title="Year"] original csv (nordic.csv): ,Finland,Iceland,Denmark 2013,"10.2%","7.2%","1.4%" 2014,"11.0%","11.0%","1.9%" 2010,"2.5%","2.3%","2.8%" 2011,"-16.6%","6.6%","-6.6%" 2012,"-14.2%","6.2%","1.2%" 2015,"13.2%","16.2%","2.0%"

  • Screenshot - [csvtohtml_create path="nordic" source_files="nordic.csv" source_type="guess" debug_mode="no" sort_cols="1" sort_cols_order="asc" title="Year" exclude_cols="3"]

  • Screenshot - [csvtohtml_create path="nordic" source_files="nordic.csv" source_type="guess" debug_mode="no" sort_cols="1" sort_cols_order="asc" title="Year" exclude_cols="2,4"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="nordic.csv" source_type="guess" debug_mode="no" sort_cols="1" sort_cols_order="asc" title="Year" include_cols="1,3-4"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="nordic.csv" source_type="guess" debug_mode="no" sort_cols="1" sort_cols_order="asc" title="Year" include_cols="1,3-4" fetch_lastheaders="2"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="nordic.csv" source_type="guess" debug_mode="no" sort_cols="1" sort_cols_order="asc" title="Year" table_in_cell_cols="2,3,4"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="nordic.csv" source_type="guess" debug_mode="no" sort_cols="1" sort_cols_order="asc" title="Year" table_in_cell_cols="2,3,4" include_cols="1" table_in_cell_header="Countries"]
  • Screenshot - [csvtohtml_create path="nordic" source_files="nordic.csv" source_type="guess" debug_mode="no" sort_cols="1" sort_cols_order="asc" title="Year" table_in_cell_cols="2,3,4" include_cols="1" table_in_cell_header="Countries"] CSS .csvtohtml .extra-data::before {content: "Hover here for more info";} .csvtohtml .extra-data table {visibility:hidden;} .csvtohtml .extra-data:hover table {visibility:visible;}

  • Screenshot - Same as 16 but when hovered on a specific row(year)


This section describes how to install the plugin and get it working.

  1. Upload the plugin folder csvtohtml to the `/wp-content/plugins/’ directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress
  3. Put shortcode on the WordPress post or page you want to display it on and add css to change layout for those.


  • [csvtohtml_create] – Create the html table from specified csv-file(s)

[csvtohtml_create] attributes

  • responsive – yes/no – The default is yes, but this could be set to no if you have issues with other css on your site.
  • css_max_width – media query css rules/breakpoint. This is only applied when responsive is set to yes.
  • css_min_devicewidth – media query css rules/breakpoint. This is only applied when responsive is set to yes.
  • css_max_devicewidth – media query css rules/breakpoint. This is only applied when responsive is set to yes.
  • title – set title that is shown as text in top left corner of html table (else nothing is shown there)
  • html_id – set id of this table
  • html_class – set class of this table (besides default csvtohtml – class)
  • path – relative path to uploads-folder of the wordpress – installation ( eg. /wp-content/uploads/{path} )
  • source_type – what type to use for identifying content in csv-files (valid types are guess and visualizer_plugin).
  • fetch_lastheaders – Number of specific headers to retrieve (from end)
  • source_files – file(s) to include. If using more than one file – separate them with a semicolon (;). It ‘s (from v1.0.2) possible to include a full url instead of a filename to fetch external csv files. It’s also possible (v1.1.36) to fetch files from a given path (with for example *.csv).
  • csv_delimiter – what delimiter to use in each line of csv (comma, semicolon etc)
  • exclude_cols – What columns to exclude in final html table (1,2,3,10-15 would exclude columns 1,2,3,10,11,12,13,14 and 15). If you want to remove the last column, then simply type last instead of entering a number.
  • include_cols – What columns to include in final html table (1,2,3,10-15 would display column 1,2,3,10,11,12,13,14 and 15). If include_cols is given, then exclude_cols is ignored.
  • include_rows – What rows to include in final html table (1,2,3,10-15 would display row 1,2,3,10,11,12,13,14 and 15).
  • table_in_cell_cols – You can choose to have extra data in a table in a cell from specific column(s) given (same format as include_cols). exclude_cols is ignored if this is used. This could be useful if you want to do a hover-effect to show some extra data.
  • table_in_cell_header – Column name for added data, if table_in_cell_cols is specified and table_in_cell_header is not the default value is: “More Data”
  • table_in_cell_wrapperclass – Class for div surrounding table inside cell when using table_in_cell_cols
  • filter_data – What data to filter in table (specific string), e.g. FSC
  • filter_data_ucfirst – If set to yes, first letter will be uppercase (applies only to a-z)
  • filter_operator – Tell how to apply the filter (between (>= value1 and <= value2), equals (=), urlequals(= case insensitive and search borth with hypens/spaces and underscores), less (<), lequal (<=) more (>), mequal (>=) )
  • filter_removechars – If having more characters than just numbers in the (cell)values, remove that/those characters so comparision will be done for numbers only
  • filter_col- What column to use filter on (Only ONE column)
  • eol_detection – CR = Carriage return, LF = Line feed, CR/LF = Carriage line and line feed, auto = autodetect. Only useful on external files. Other files are automatically autodeteced.
  • convert_encoding_from – When converting character encoding, define what current characterencoding that csv file has. (Not required, but gives best result)
  • convert_encoding_to – When converting character encoding, define what characterencoding that csv should be encoded to. (Best result of encoding is when you define both encoding from and encoding both)
  • sort_cols – Which column(s) to sort on in format nr,nr och nr-nr (example 1,2,4 or 1-2,4)
  • sort_cols_order – Which order to sort columns on (asc/desc). If you have 3 columns, you can define these with different sorting like asc,desc,asc
  • add_ext_auto – Add fileextension .csv to file (if it’s not specified in the source_files). Set to no if you don’t file extension to be added automatically.
  • float_divider – If fetching float values from csv use this character to display another “float-divider chacter” than dot (e.g. 6,3 instead of 6.3, 1,2 instead of 1.2 etc)
  • pagination – Tells if pagination should be used or not. Default is no.
  • pagination_below_table – Show pagination below table. Pagination must be set to yes for this to work.
  • pagination_above_table – Show pagination above table. Pagination must be set to yes for this to work.
  • pagination_start – Row to start pagination with (generally always 1)
  • pagination_text_start – Text start for pagination. Set to “” if you do not want to show.
  • pagination_text_prev – Text Prev (previous) for pagination. Set to “” if you do not want to show.
  • pagination_text_next – Text Next for pagination. Set to “” if you do not want to show.
  • pagination_text_last – Text last for pagination. Set to “” if you do not want to show.
  • pagination_rows – Nr of rows to show for each pagination.
  • pagination_links_max – Show links (1,2,3… up to 10 links as default). Set to 0 if you do not want to show these links at all.
  • hidetable_load – Hide table at pageload if set to yes
  • hidetable_reset – Hide table when clicking reset button if set to yes (otherwise full table would show even if hidetable_load is set)
  • search_functionality – Make table data searchable
  • searchbutton_text – Search button text (search_functionality must be set to yes for this option to be valid)
  • resetbutton_text – Reset button text (search_functionality must be set to yes for this option to be valid)
  • searchinput_placeholder – Placeholder for searchinput field. Default is empty.
  • notfound_message – What message to show when searchresult not found. (search_functionality must be set to yes for this option to be valid)
  • search_requiredchars – How many characters that are required when doing a search. Default 0 tells there are no requirement.
  • search_requiredchars_message – Message to user if not required characters are valid when doing a search. If this is not set, then a standard message will appear.
  • search_realtime – Set to yes if you want the system to search without hitting any button (after user typed some characters). There’s a delay in about 1 second after user has typed
  • htmltags_autoconvert – Set to yes if you want to (auto)convert links to html-links (), images to and mail to “maillinks (link with mailto:).
  • htmltags_autoconvert_newwindow – If ordinary links, open them up in a new window. This attribute only has effect when htmltags_autoconvert is set to yes
  • htmltags_autoconvert_imagealt – Set alt text for all images OR based on a specific columns value (e.g. if set to 2 then grab value from second column for the same row that image is on)
  • totals_cols_bottom – Add totals with given columns at bottom of table (example 1,2,4 or 1-2,4)
  • totals_cols_bottom_empty – What string/character to show when there’s no calculation
  • totals_cols_bottom_title – Set a specific string when added totals (overrides totals value and totals_cols_bottom_empty)
  • totals_cols_bottom_title_col – Which column to set this specific title at
  • downloadable – If set to yes, a button is shown that creates a download of a csv
  • downloadable_text – What text to show on downloadable button
  • downloadable_filename – What filename to use when downloading

  • debug_mode – If set to yes then header-values and row-values would be output to screen and files like “file not found” will be displayed (otherwise it would be “silent errors”)

Default values

  • [csvtohtml_create responsive=”yes” css_max_width=760 css_min_devicewidth=768 css_max_devicewidth=1024 title=”{none}” html_id=”{none}” html_class=”{none}” source_type=”visualizer_plugin” path=”{none}” fetch_lastheaders=”0″ source_files=”{none}” csv_delimiter=”,” exclude_cols=”{none} include_cols=”{none}” table_in_cell_cols=”{none}” table_in_cell_header=”More data” filter_data=”{none}” filter_data_ucfirst=”no” filter_operater=”equals” filter_removechars=”{none}” filter_col=”{none}” eol_detection=”cr/lf” convert_encoding_from=”{none}” convert_encoding_to=”{to}” sort_cols=”{none}” sort_cols_order=”asc” add_ext_auto=”yes” float_divider=”.” pagination=”no” pagination_below_table=”yes” pagination_above_table=”no” pagination_start=1 pagination_text_start=”Start” pagination_text_prev=”Prev” pagination_text_next=”Next” pagination_text_last=”Last” pagination_rows=”10″ pagination_links_max=”10″ hidetable_load=”no” hidetable_reset=”no” search_functionality=”no” searchbutton_text=”Search” resetbutton_text=”Reset” searchinput_placeholder=”” notfound_message=”no” search_requiredchars=”0″ search_requiredchars_message=”” search_realtime=”no” htmltags_autoconvert=”no” htmltags_autoconvert_newwindow=”no” htmltags_autoconvert_imagealt=”” totals_cols_bottom=”{none}” totals_cols_bottom_empty=”” totals_cols_bottom_title=”{none}” totals_cols_bottom_title_col=”{none]” downloadable=”no” downloadable_text=”Download as csv” downloadable_filename=”export_csvtohtml.csv” debug_mode=”no”]

Look at instructions and examples here: http://wibergsweb.se/plugins/csvtohtml/ (You can also download BETA-version of the the premium plugin here for free)
If you like the plugin, please consider donating or write a review. If you donate: paypal info@wibergsweb.se. Amount does not matter. I like coffee! 🙂

Preguntas frecuentes

Is your tables responsive?

From v1.60 the tables are responsive as default. This is a functionality that’s usually not included in a free plugin.

Why don’t you include any css for the plugin?

From v1.60 there are som basic css to make responsive table. It’s possible to turn this css off if having issue though.
The goal is to make the plugin work as fast as possible as expected. By not supplying a lot of css the developer has full control over
the design. If you know css, it’s easy to apply your style on all tables / invidual tables etc. If you’re missing templates or similar, the
upcoming premium version of this plugin would supply you with templates to choose from very easily.

Is the plugin totally free?

Yes it is. If you feel bad about using this plugin for free, please write a review and/or give a donation.
There is an upcoming premium version of the plugin that takes care of all configuration for all csv-files
automatically. The premium based CVS to html is based on this free plugin. You can download a BETA-version of the premium plugin here: http://wibergsweb.se/plugins/csvtohtml/


18 de octubre de 2021
The plugin and functionality is absolutely awesome and the search and filter options work really fast. As if that was not impressive enough, I had an issue with the plugin and the author bent over backwards working to resolve the issue. Even released 2 updates with additional features to help me overcome my issue/requirement. Spent over 2 weeks exchanging emails with the author and he came up with several options and the perfect solution! I was compelled to send him a paypal donation to say thank you as his support was excellent! PS.I noticed that on his websites he offers a service to create wordpress plugins so he will definitely be my go to guy on new projects. Thanks again.
27 de diciembre de 2020
No other plugin I tried had this functionality in free version. Basically you can create a table and format it as you wish from data in a csv file. It is impressive how well the plugin can be configured, I had a csv with tab delimiters, simply using csv_delimiter="\t" it was able to process the file. Looking forward to the newer version with the new functions, include csv columns in single cell, as table in table, and filter csv rows based on data in specific column. I would also like to point out that the author/developer of this plugin is very helpful, quick on replies, and willing to implement new features !
14 de mayo de 2020
Even if the plugin tells me that it is was not tested with my WordPress version (I use latest version), it does the job very well. I play arround with my Custom CSS and voila, I have wat I want! Be careful to choose the character type, for me UTF-8 was not the good one. Test also different delimiters. The debug function tells you a lot of things. A very simple and helpfull plugin. Next step will be testing to automate the csv creation and to upload it to my server. That's another challenge...
28 de febrero de 2020
The fact that this Plugin reads the CSV file directly without having to manually upload allowed me to automate several processes we were doing manually with TablePress. Saved us a lot of time. Very flexible and easy to use.
Leer todas las 12 reseñas

Colaboradores y desarrolladores

“CSV to html” es un software de código abierto. Las siguientes personas han colaborado con este plugin.


“CSV to html” ha sido traducido a 1 idioma. Gracias a los traductores por sus contribuciones.

Traduce “CSV to html” a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN , o suscríbete al log de desarrollo por RSS .

Registro de cambios


  • Important update! Bugfix: Pagination will work together will filter_operator equalsurl.


  • A new operator is added for filter_operator and it is called equalsurl. When fetching data from url, spaces often becomes hyphens(-) or underscores(_) and this setting solves this by seaching for all necessary combinations (with spaces between words, with hyphens and with underscores). Filter is applied in a case insensitive manner. If filter_data_ucfirst is set to yes, the filter_operater overrides this value.


  • Filter data can now be set by part of url (e.g. domain/part1/part2/part3). The use of %urlparts-X% makes this possible where X indicates level in path hiearchy (1,2 or 3). If X is set to “last” it would be automatically fetch last level (part3).
  • Filter data’s first letter could be automatically set to upper case (Useful in combination with %urlparts-X%)


  • It is now possible to export a csv-file when clicking on a button under the table. The download process does not require any temporary file creations.


  • Possible to use %userlogin% for creating a dynamic path based on loggedin user, e.g. users/%userlogin%.


  • Ignore error when using Premium version (>0.96) in combination with “Gutenburg”.


  • Ignore error when entering incorrect values for table in cell columns


  • Bugfixes: Some warnings are ignored when including files when not are avaialable, when using incorrect encoding etc
  • Compability fix for CSV to HTML Premium (Premium is only in beta stage for now)


  • Bugfix: Include last row when fetching external files when using source_type guess
  • Debugging-class improved for translation/internationalisation
  • More hints what could be going wrong when debugging


  • It’s now possible to easily add a totals row under the bottom of a table and tell which columns that should be included
  • You can also add a custom title to show , e.g. TOTAL at specific column


  • Added possibility to set alt-description based on a specific columns value (or a fixed alt-value for all images)


  • Bugfix: fixed issue when realtime search active and when typing to fast or searching while plugin already searching
  • Realtime search attribute now works invidually for different tables (so one table can have realtime search and another not on the same page)
  • Autoconversion of url’s, images and emails to html-tags are now possible with attribute settings
  • With autoconversion it’s also possible to set if links should open in a new window or not


  • Possible to have an empty table when clicking reset button and not only at first pageload.
  • Show a custom message when search by user did not give any results. This is within a span which makes it easy to style with css.
  • Set a required length of characters at search
  • Set a specific message when required length length of characters at search is not valid
  • New attribute to add placeholder to search inputfield
  • It’s now possible to search in “realtime”, e.g. search starts when user enter characters in search input field directly
  • debug-attribute alais for debug_mode (because of some people enters debug instead of debug_mode)


  • Possible to have an empty table at pageload (when doing search it will get filled with appropiate result).


  • Added a function for converting Windows-1255 characters to UTF-8 (this is not builtin into PHP mb_convert_encoding – function).


  • Bugfix responsive – relationsship between column and rows works indenpently of source_type given and
    managaging several tables on same page with different number of columns now works.


  • Textdomain has changed from csvtohtml-wp to the expected csv-to-html for correct internationalisation.


  • filter_operator has a new option: wildcard which filters data from a string within a substring
  • Search functionality implemented:
  • An input search field, a search button and a reset button is created
  • Easy configurable texts for the buttons
  • The buttons are easily styled because of classes set for each button
  • Searchresult is shown directly without reloading the page
  • Bugfix: When excluded columns responsive tables “out of the box” was in some cases not working as expected. Now it is.


  • Pagination implemented:
  • It’s possible to show pagination first, previous, next or last and specific links in between.
  • Easy configurable texts and number of specific links to show.
  • You can also specify if the pagination should be above or below table or both. If having pagination for several tables
  • The pagination is separated accordingly and the page is not reloaded when browsing through tabledata.
  • If javascript is not applicable then pagination could be used but only for one specific table and the page would be reloaded


  • If having more than one table an automatic html id is generated so responsive css rules can be generated invidually.


  • Responsive tables “out of the box”. It adjusts table view automatically based on different resolutions/devices.
  • It’s also possible to adjust mediaquery/css breakpoints.


  • Possible to tell which rows to include (in the same format as include_cols)


  • Possible to apply filter in different ways such less then, more than , less or equal then, more or equal then or between
  • Extended debug-functionality separated from core.
  • Many thanks to g.deepwell for making this update possible! ( https://wordpress.org/support/users/gdeepwell/ )


  • Apply a new filter on all rows based on a specific string from a specific column.
  • It’s now possible to include a subset of the whole table in a cell where you specify columns that should be included. This data is added to the end of the table. Combined with css this could be used for hiding/showing data.
  • Added more useful debug-functionality for getting the plugin running even quicker
  • Many thanks to g.deepwell for making this update possible! ( https://wordpress.org/support/users/gdeepwell/ )
  • Plugin tested and verified for use with version 5.6 of WordPress


  • Better performance when not debugging due to debugging code loaded when neccessary.
  • A new attribute has been added so float numbers fetched from csv-files could be shown with another character instead of dots (probably comma)


  • A new attribute has been added so .csv does not have to be added automatically. This could be useful when loading files from Google Drive or similar cloud based services.


  • A html-tag that (for some reason) has been inserted by mistake. It’s now corrected. Validation of html table should now validate.


  • Some missing tag in table corrected (/tbody and id-attribute(when used) corrected).


  • Debug code removed. (update to this version if you tried to install/update to 1.1.40!)


  • Changed autodetection of EOL to auto(detect) (from cr/lf) when importing CSV-files.


  • Bugfix: Display order of columns when including, excluding is fixed. (In some circumstances the display order of columns would be inccorect before)


  • CURL is not used anymore for fetching external files. Instead native WordPress HTTP API is used. Why? It’s faster and handles security (with ssl) much better. As a fallback CURL is used by the HTTP API.


  • Bugfix admin page. Important to update to this version! (if you have installed 1.1.36)


  • Help-page introduced in wordpress dashboard
  • Debugging functionality improved
  • CURL bugfix when mixing http and https – protocols.
  • Possible to disable/ignore curl if something goes wrong (even if CURL is installed)
  • Now it’s possible to use wildcards (to grab all csv-file from a specified path for example)


  • Bugfix sorting on columns when both asc and desc are used


  • Sorting of columns are now possible. It’s also possible to define different sortorders depending on which column is sorted.


  • Now it’s possible to convert(translate) characterencoding from csv to another charset (for display)


  • Now it’s possible to use “last” instead of entering a specifing column-number when excluding a column.


  • Now it’s possible to use a custom delimiter for each row in a csv file.


  • Autodetection of line endings now supported. Works automatically on local files (on server)
  • Possible to specifiy custom line endings when loading external links (when CURL is enabled)


  • Now it’s possible to specify an extra class for the table. Example: If used together with the tablesorter plugin (https://wordpress.org/plugins/table-sorter/) you can add a class called tablesorter and combine these two plugins to
    create a “tablesorted” html table generated from csv file(s) in realtime.


  • Now it’s possible to include or exclude columns in format 1,2,3 or 1-3. It’s also possible to combine these two eg. 1,2,3,7-9,13,14,15.


  • Semantic bugfix. When not defining a path an extra slash was included in the path. Now there are no extra slashes.
  • Now it’s possible to include a full url to fetch csv-files from external sources. CURL are used to fetch csv files from external sources, but if CURL is not installed, then php’s file() function is used but that requires that the server
    has allow url fopen enabled.


  • Plugin released