Table Tools is an additional block of buttons that provides some extra features for the tables: export to PDF, export to CSV, export to Excel, print view, toggle for column visibility for front-end users, etc. This functionality is based on 3rd party HTML5 library. There are some limitations in this library that we want to put it in the very top so you would be aware of these:
- For tables with server-side processing only the visible rows will be exported to any format. This means that if you want the whole table to be exported (or copied to clipboard), you would need to choose “Show All” feature in the “show … entries” block, and then do the export:
Now we can go through all the available buttons and the functions.
Copy button triggers the “copy to clipboard” function, so it copies all the rows that exist in the page to your OS clipboard and you can later paste it in some other software. Once you click it, you get a popup with notification on how many rows were copied to the clipboard, e.g. “Copied 20 rows to the clipboard”. All the rows are copied to the clipboard, including headers, tab-separated; you can paste it then to e.g. MS Excel. For tables with server-side processing enabled, this copies only the visible columns.
“PDF” button generates a new PDF document out of the table, and calls the browser’s “Save as …” dialog so you could choose a path for your file. It is a very basic PDF with the page title, and the table with simple formatting:
For tables with server-side processing enabled, PDF will contain only the visible rows.
“CSV” button generates a new file in “Comma-Separated-Values” format out of the table, and calls the browser’s “Save as …” dialog so you could choose a path for your file. All the values from your table, including the headers will be exported. The cells will be separated by commas, rows will be separated by line breaks:
For tables with server-side processing enabled, CSV file will contain only the visible rows.
“Print” button uses jQuery functionality to hide all the elements on the page, except for the table. For some themes it can look weird, but for most of these it will work correctly, and make the view of the page “printable”.
“Excel” button generates an Excel file with the visible table data.
If this button is turned on for the table, your front-end table users would be able to toggle show/hide for different columns. Please note that it also includes the columns that you’ve hidden from the back-end. You can un-select the button to hide the column, select it back to show it:
Configuring Table Tools
You can define for each table which table tools button to show or hide in the Table Tools block, and if you want to show it at all. To enable/disable the Table Tools block you can check or uncheck the Table Tools checkbox in the table configuration:
If the Table Tools are enabled, you can toggle the ‘Configure Table Tools’ button to define which particular buttons to show and hide:
Default export filename will be derived from the table title. To change the export filename and the displayed title, add an ‘export_file_name’ attribute to the table shortcode. E.g. if you define the shortcode like:
[wpdatatable id=1 export_file_name='My Export File']
The filenames of exported files will be: “My Export File.pdf”, “My Export File.xls”, etc.
To see a quick video overview on this feature click here.