How to Bulk Export Selected Rows from a WordPress Table

Exporting exactly the rows you want, not an entire dataset, saves time and keeps shared reports clean. TableCrafter's bulk export feature lets you check off specific rows in any frontend table and download just those records as CSV, Excel, or PDF, all without leaving the page or touching the WordPress admin. WordPress powers 43% of all websites globally (W3Techs, July 2026), and TableCrafter bridges the gap between the data you collect and the tables your users need to see, no custom PHP, no dashboard access required for viewers. The free version on WordPress.org supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV/PDF, role-based column visibility, and auto-refresh. Every table embeds on any page with a [tablecrafter] shortcode or the native Gutenberg block. WordPress sites with interactive tables see 31% longer average session durations (Semrush, 2024).
What You Need Before You Start?
Bulk export of selected rows is a Pro feature. The free tier on WordPress.org supports read-only display, basic search, sort, and pagination across any number of rows and columns, but bulk actions, including export, require a Pro license.
Before following the steps below, confirm you have:
- TableCrafter Pro installed and activated with a valid license key
- At least one table already configured under TableCrafter → Tables
- The table embedded on a page using one of the supported shortcodes:
[tablecrafter id="X"],[tablecrafter id="X"], or[tablecrafter id="X"], all three map to the same renderer - The data source for that table connected (Gravity Forms is the primary source; Google Sheets, REST API, Airtable, and WooCommerce are also supported)
How Do I Enable Bulk Actions on a Table?
Bulk actions are configured per-table inside the table builder, not globally. Open the builder by navigating to TableCrafter → Tables, then clicking Edit on the table you want to update.
Inside the builder, locate the Bulk Actions tab or section. You will see checkboxes for each available bulk operation:
- Delete selected, permanently removes chosen entries via the Gravity Forms API
- Export selected (CSV), downloads selected rows as a comma-separated file
- Export selected (Excel), downloads an
.xlsxfile - Export selected (PDF), generates a formatted PDF of the selected rows
- Column fill, writes a single value into one column across all selected rows
Check the export formats you want to offer, then click Save Table. Once saved, a checkbox column automatically appears as the first column in the frontend table, and a toolbar with the enabled actions appears above or below the table depending on your theme layout.
How Do Selecting Rows and Triggering the Export Work?
On the frontend page where your table is embedded, each row now starts with a checkbox. The workflow is straightforward:
- Use the search bar, column filters, or advanced filters to narrow the visible rows to the set you care about.
- Check individual row checkboxes, or click the Select All checkbox in the header to select every visible row on the current page.
- If your table spans multiple pages and you want rows from all pages, use the Select All Matching option that appears in the toolbar after a header-checkbox click, this tells TableCrafter to include every row matching the current filter state, not just the current page.
- Click the Export button in the bulk-actions toolbar and choose your format.
TableCrafter fires an AJAX request to wp-admin/admin-ajax.php with the selected entry IDs, the table ID, and a nonce token. The server validates the nonce and the user's capability before building the export file. The resulting file is streamed directly to the browser as a download, nothing is written to disk on the server.
What Is Controlling Who Can Export: Role-Based Permissions?
Pro TableCrafter's permission system operates at two levels, table-level and column-level, both configured inside the table builder.
Table-level permissions determine which WordPress roles can see the table at all. If a role cannot view the table, the shortcode renders nothing for users in that role, and they cannot trigger any export.
Column-level permissions control which columns appear in the exported file. If a column is hidden for a given role, it is excluded from that role's export output server-side, not just hidden in the UI. This means a manager role can export a full dataset including a salary column while a staff role exports the same rows but without that column.
To configure permissions, open the table builder and go to the Permissions tab. Assign roles to the View, Edit, and Export capability tiers. For column restrictions, switch to the Columns tab and set per-column role visibility on any column you want to protect.
// Example shortcode on a members-only page
[tablecrafter id="12"]
// TableCrafter handles role checks automatically --
// no additional shortcode attributes needed for permissions.
How Do I Export Filtered Results vs. Hand-Picked Rows?
There are two common export patterns in TableCrafter, and it helps to understand which one you are using:
Pattern 1, Export all filtered rows. Apply your column filters or advanced filters, then use Select All Matching before exporting. This exports every row that matches the active filter state, even across pagination pages. This is efficient for recurring report workflows: bookmark the page with filter parameters in the URL and the next person who opens it can export the same scoped dataset in two clicks.
Pattern 2, Hand-pick rows. Scroll through the table and manually check individual rows regardless of how they are filtered. This is useful when the rows you need do not share a clean filter predicate, for example, picking three specific job submissions from a mixed list.
Both patterns use the same export button. TableCrafter determines whether to use the explicit selection list or the full filter-matched set based on whether Select All Matching was activated.
How Do Export Format Details and Customization Work?
Each export format has slightly different characteristics worth knowing:
- CSV, Plain text, universally compatible, no formatting. Column headers come from the column labels you defined in the table builder, not the raw Gravity Forms field labels. This makes CSVs immediately readable for end users.
- Excel (.xlsx), Includes column headers with basic styling. Numeric columns export as number cells (not text), so formulas work immediately after opening. Date fields export as Excel date values when the column type is set to Date in the table builder.
- PDF, Generates a paginated document with your column headers and row data. The PDF respects column visibility, hidden columns are excluded. Column widths in the PDF are proportional to the character count of the data, not the screen widths set in the builder.
Column labels in all export formats come from the Label field you set on each column inside the table builder. If you want the export header to read "Customer Name" rather than "input_3", set that label in the builder before exporting. Status badge display values (the human-readable text mapped from raw values) are exported as their display text, not the underlying raw value.
Frequently Asked Questions
How Does What You Need Before You Start Work?
Bulk export of selected rows is a Pro feature. The free tier on WordPress.org supports read-only display, basic search, sort, and pagination across any number of rows and columns, but bulk actions, including export, require a Pro license.
What Is TableCrafter?
TableCrafter is a WordPress plugin that turns data from Gravity Forms, Google Sheets, Airtable, Notion, REST APIs, CSV files, and WooCommerce into interactive, sortable, filterable frontend tables. Embed any table on any WordPress page with the [tablecrafter] shortcode or the native Gutenberg block. No PHP or custom development required. The free version supports CSV, JSON, Google Sheets, and Excel. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST APIs, inline cell editing, export to CSV and PDF, role-based column visibility, and auto-refresh.
Does this require PHP or developer skills?
No. TableCrafter is configured entirely through the WordPress admin interface. You choose your data source, map fields to columns, and set display preferences using point-and-click controls. Embedding uses the [tablecrafter] shortcode or the native Gutenberg block.
Is the free version sufficient or do I need Pro?
The free plugin on WordPress.org supports CSV, JSON, Google Sheets, and Excel sources with unlimited tables, rows, and columns. Pro adds Gravity Forms, Airtable, Notion, WooCommerce, REST API sources, inline cell editing, bulk row actions, export to CSV and PDF, role-based column visibility, and auto-refresh every N seconds.
Ready to try it?
TableCrafter is free on WordPress.org. Pro unlocks inline editing, role-based permissions, and advanced data sources.