How to Export Gravity Forms Data to Excel and PDF

Gravity Forms has a built-in CSV exporter, but it dumps every field in the form, for every entry, all at once. There is no way to export only the columns your table shows, or only the rows that match your current filters. TableCrafter's export feature gives you exactly that: export the visible, filtered data in the column order you configured, in CSV, XLSX, or JSON format. 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, and no per-row limits on the free tier. 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 and Excel, role-based column visibility, and auto-refresh. Every table embeds on any page with a [tablecrafter] shortcode or the native Gutenberg block.
How TableCrafter Export Differs from GF's Built-In Export?
Understanding the difference helps you decide when to use each tool:
- Gravity Forms built-in export: Exports all fields across all entries (or a date-filtered subset). Runs from wp-admin. Requires admin or editor access. Format is CSV only. Column order follows the form's field order.
- TableCrafter export: Exports only the columns in your table configuration, in your configured column order. Exports only the rows matching your current active filters. Can be placed on a frontend page accessible to non-admin roles. Formats include CSV, XLSX, and JSON.
Use GF's built-in export for full data archival or when you need fields that are not in your TableCrafter column configuration. Use TableCrafter's export for operational reporting on a curated, filtered subset of the data.
How Do I Enable the Export Button?
Open your table configuration under TableCrafter → Tables → [Your Table] → Edit. Scroll to Table Options → Export. Toggle Enable Export Button on. Pro The export feature is only available on TableCrafter Pro plans — it does not appear in free version table configurations.
After toggling on, choose which formats to make available: CSV, Excel (XLSX), and JSON can each be individually enabled or disabled. Then add the export parameter to your shortcode:
[tablecrafter id="1" export="true"]
The export button renders in the top-right corner of the table toolbar, above the search bar and filter row. When clicked, it shows a dropdown with the formats you enabled — visitors click the format they want and the file downloads immediately. The button label defaults to "Export" with a download icon; you can change the label text under Export → Button Label to match your site's language or terminology (e.g., "Download Data" or "Save as file").
The export button is visible only to users who meet the minimum role configured in the table's Access tab. If a visitor does not have that role, neither the table nor the export button appears for them.
How Do I Configure Export Formats?
Under Export > Formats, select which export formats to make available to your table visitors. TableCrafter supports three server-side formats: CSV (comma-separated values), Excel (XLSX), and JSON. You can enable one, two, or all three simultaneously. When multiple formats are enabled, the export button becomes a dropdown menu with one option per format; when only a single format is enabled, the button triggers that format directly with a single click, no dropdown required.
Each format has different strengths for different workflows. CSV is the most portable and opens in any spreadsheet application including Google Sheets and LibreOffice without conversion. Excel (XLSX) preserves cell formatting and produces a workbook ready for pivot tables, charts, and advanced analysis. JSON exports the raw data as a structured array keyed by column label, useful for developers who want to process table contents programmatically or feed the data into another system downstream.
The format selection in the admin panel controls what appears in the export dropdown on the frontend. It does not affect what users can access via the REST API or scheduled exports, which have their own format settings configured separately per table.
CSV Export
The CSV format is a plain UTF-8 encoded comma-separated values file. It opens in Excel, Google Sheets, LibreOffice Calc, and any other spreadsheet application. Column headers in the first row match your configured column labels (not the original GF field labels, unless you have not changed them). Date values are formatted according to your TableCrafter > Settings > Display > Date Format setting.
CSV is the right choice when the data will be imported into another system (CRM, analytics tool, database) or when the recipient may not have Excel.
XLSX Export
The XLSX format produces a proper Excel workbook using the PhpSpreadsheet library. TableCrafter applies basic formatting: the header row is bold with a light gray fill (hex #E9ECEF), and all column widths are auto-sized using PhpSpreadsheet's setAutoSize(true) so content is not truncated. The sheet title is set to "Table Export". Numeric cell values are written using TC_Excel_Float_Service to preserve floating-point precision and prevent Excel from misinterpreting decimal numbers as dates.
Column order in the XLSX file follows your configured column sequence. Hidden columns and export-excluded columns are omitted. The resulting file opens natively in Excel, LibreOffice Calc, and Google Sheets (via import). XLSX is the right choice when recipients need to sort, filter, or build pivot tables on the exported data without re-importing a CSV.
PDF Export
TableCrafter does not generate server-side PDFs. There is no PDF option in the export format list. To save a table view as a PDF, use the browser's built-in print-to-PDF function:
- Open the page containing your table.
- Remove pagination or set a high per-page count so all rows are visible at once (pagination cut-off is the most common cause of incomplete PDFs).
- Press Ctrl+P (Windows/Linux) or Cmd+P (macOS) to open the print dialog.
- Set the destination to Save as PDF.
- In "More settings," enable Background graphics to preserve cell background colors such as status badge colors.
- Adjust orientation (Landscape is usually better for wide tables) and click Save.
What Is Export Scope: Filtered Rows vs. All Rows?
This is the most operationally important export setting. Under Export > Scope, choose between:
- Filtered rows only (recommended): Exports only the rows currently matching active search and filter conditions. If 2,400 entries exist but the current filter shows 87, the export contains 87 rows.
- All matching entries: Ignores the current filter state and exports all entries that would appear in this table without any filters applied (still respects the current-user filter and role-based access restrictions, but ignores column filters and search terms).
Most teams should use "Filtered rows only." The "All matching entries" option is useful when you want a full-data download regardless of what the current user has filtered in the browser.
How Does Controlling Which Columns Appear in the Export Work?
By default, every visible column in the table is included in the export. To exclude specific columns from the export while keeping them visible in the table, go to the column card's Display tab and toggle off Include in Export.
Common columns to exclude from exports:
- Edit action columns (pencil icons)
- Internal Entry ID if sharing with external recipients
- File upload columns (URLs do not render meaningfully in a spreadsheet)
You can also add columns to the export that are hidden from the table display. Set a column's visibility to Export Only in the Display tab. This column does not render in the browser table but appears in the downloaded file, useful for including a unique identifier or internal code that table viewers do not need to see.
How Does Export Permissions Control Who Can Download?
Under Export > Permissions, specify which WordPress roles can trigger an export. The export button is only rendered for users whose role meets the minimum requirement. Roles below the threshold do not see the button at all. Attempting to call the export AJAX endpoint directly without the appropriate role returns a 403 forbidden response, so the restriction is server-enforced, not just hidden in the UI.
A typical configuration: Subscribers see no export button (they view only their own entries and cannot bulk-download the full dataset). Editors and Administrators see the export button and can download filtered results to share with stakeholders outside the WordPress system.
The permission check runs the same role verification used by the rest of the TableCrafter access system. If you have configured a custom minimum viewing role for the table under the Access tab, set the export permission to at least that same role. Setting the export permission lower than the table's view permission has no practical effect, since users who cannot view the table never reach the export button. The recommended pattern is to match export permissions to view permissions and then tighten export-only access independently if your use case requires it.
How Does Export Filename Template Work?
Under Export → Filename, set a filename pattern using tokens resolved by TC_Export_Filename_Service. The supported tokens are:
{table_name}— the internal TableCrafter table name as entered in the table builder{table_id}— the numeric table ID{YYYY-MM-DD}— current date as ISO 8601 at export time (e.g., 2026-07-06){YYYY},{MM},{DD}— year, two-digit month, two-digit day individually{HH},{mm},{ss}— 24-hour hour, minutes, seconds ({mm}is lowercase to avoid collision with the month token{MM}){HHMMSS}— time composite (e.g., 143052){timestamp}— Unix timestamp as an integer
An example template: {table_name}-{YYYY-MM-DD} produces a filename like support-tickets-2026-07-06.csv. The file extension is appended automatically based on the format selected at download time, so the same pattern applies to CSV, XLSX, and JSON exports from the same table.
Unknown tokens pass through verbatim rather than being stripped, so a typo like {tablename} (without the underscore) will appear literally in the filename. If no pattern is configured, the default is {table_name}-{YYYY-MM-DD}.csv.
What Are the Next Steps?
Your Gravity Forms data is now exportable in the format your team actually uses, filtered to exactly the rows that matter. If you are building a full admin tool, combine the export feature with inline editing so team members can update entry statuses and then export the updated dataset in one workflow, all without leaving the frontend table page.
For recurring delivery to stakeholders who do not log into WordPress, set up a scheduled export. TableCrafter's scheduled export feature runs on WP-Cron and writes the table's current data to a file in wp-content/uploads/gravity-tables-exports/ on a configurable cadence: hourly, every 6 hours, daily, or weekly. Recipients listed in the configuration receive the file by email with each run. This removes the need for any manual export step in an operational workflow.
For tables that need fine-grained control over who can see which rows or columns, review the role-based access guide. Combining export permissions with column-level visibility controls ensures that when a user downloads the table, the exported file contains only the columns and rows their role is authorized to see. This is the recommended approach for tables that are shared across multiple teams with different data access levels.
Frequently Asked Questions
How Does How TableCrafter Export Differs from GF's Built-In Export Work?
Understanding the difference helps you decide when to use each tool:
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 Excel, 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 Excel, 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.