Image
Image

SheetFusion

Description

SheetFusion turns any publicly published Google Sheet into a fully interactive table on your WordPress site in seconds — no API key, no OAuth, no complicated setup. Publish your sheet, paste the shortcode, done.

No personal visitor data is ever transmitted to external servers.

Features

  • Client-side search — full-text search across all columns
  • Sortable columns — click any header to sort
  • Pagination — configurable rows per page
  • Export buttons — CSV, Excel, PDF, and Print
  • Column visibility toggle — let readers show/hide columns
  • Server-side filtering — pre-filter rows by any column value
  • Auto-link columns — automatically turn bare URLs into clickable links in any column you choose
  • Row cap — configurable maximum rows per table prevents memory issues on large sheets
  • Four visual themes — Default, Stripe, Minimal, and Dark
  • Transient caching — reduces Google requests; configurable duration
  • Conditional asset loading — DataTables scripts load only on pages that contain a [sheetfusion] shortcode; zero overhead everywhere else
  • Admin dashboard — save and manage all your sheets with one-click shortcode copying
  • Accessible — semantic HTML, ARIA attributes, keyboard-navigable tables

How it works

SheetFusion fetches your sheet in CSV format via Google’s public gviz/tq endpoint. No authentication is required as long as the sheet is published to the web.

External Services & Third-Party Libraries

This plugin connects to the following external service:

  • Google Sheets (docs.google.com) — your WordPress server fetches the sheet data directly using the Sheet ID you provide. No personal visitor data is sent; only the Sheet ID and tab name are included in the request. Please review Google’s Privacy Policy and Terms of Service.

The following third-party JavaScript and CSS libraries are bundled locally within the plugin (no external CDN requests are made to your visitors’ browsers):

Support

Have a question or found a bug? Post in the Support tab above and we’ll get back to you.

Installation

Via the WordPress plugin installer (recommended)

  1. In your WordPress dashboard go to Plugins Add New.
  2. Search for SheetFusion and click Install Now, then Activate.
  3. Go to SheetFusion My Sheets in the admin menu and add your first sheet.

Manual installation via FTP

  1. Download the plugin zip and extract it.
  2. Upload the sheetfusion folder to /wp-content/plugins/.
  3. Activate SheetFusion via Plugins Installed Plugins.
  4. Go to SheetFusion My Sheets in the admin menu and add your first sheet.

Publish your Google Sheet first

In Google Sheets: File Share Publish to the web select your sheet tab Publish.

FAQ

Where do I find my Sheet ID?

It’s the long string in your Google Sheets URL between /d/ and /edit:
https://docs.google.com/spreadsheets/d/{SHEET_ID}/edit

My sheet is not loading — what should I check?

Make sure the sheet is published to the web (File Share Publish to the web). The plugin cannot access private sheets.

Can I display multiple sheets on the same page?

Yes. Each shortcode renders a completely independent table with a unique ID.

How do I filter rows to only show certain data?

Use the filter_column and filter_value attributes. For example, to show only rows where column 2 contains “London”:

[sheetfusion id="..." sheet="Sheet1" filter_column="2" filter_value="London" filter_mode="contains"]

Can I disable the export buttons?

Yes — set export="" to hide all buttons, or pass a specific list: export="csv,print".

How do I change the theme?

Add theme="dark" (or stripe / minimal) to your shortcode. You can also set a site-wide default in SheetFusion Settings.

How do I make URLs in my sheet clickable?

Use the link_columns attribute with a comma-separated list of 1-based column numbers. For example, to auto-link URLs in columns 1 and 3:

[sheetfusion id="..." sheet="Sheet1" link_columns="1,3"]

My sheet has tens of thousands of rows — will it work?

SheetFusion renders tables in the browser, so very large sheets can affect page performance. A configurable row cap (default 5,000) is applied to prevent memory issues. Increase or decrease it in SheetFusion Settings.

Can I force a cache refresh?

Yes, but only administrators can do this. Add refresh="1" to your shortcode. This bypasses the cache for that render only.

Does this plugin collect or transmit visitor data?

No. SheetFusion does not collect, store, or transmit any personal data about your site’s visitors. The only external request it makes is from your server to Google to fetch the sheet content — no visitor IP addresses or identifiers are included.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“SheetFusion” is open source software. The following people have contributed to this plugin.

Contributors

Translate “SheetFusion” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.1.0 — 2026-03-01

  • Security: removed style= attribute from wp_kses allowlist in cell output — eliminates a CSS injection vector from sheet data
  • Performance: DataTables assets now load conditionally only on pages that contain a [sheetfusion] shortcode (zero overhead on all other pages)
  • Standards: replaced raw inline <script> output with wp_add_inline_script() — correct WordPress practice
  • Standards: wrapped all raw SQL queries in $wpdb->prepare() (deactivation hook and AJAX cache-clear handler)
  • Standards: replaced deprecated current_time('timestamp') with time()
  • i18n: moved all user-facing JS strings into wp_localize_script so they are translatable
  • i18n: removed deprecated document.execCommand('copy') fallback; Clipboard API used exclusively
  • Feature: configurable row cap (default 5,000) with admin notice when limit is reached — prevents memory exhaustion on large sheets
  • Feature: link_columns shortcode attribute lets you specify exactly which columns should auto-link bare URLs (previously hard-coded to column 1 only)
  • Feature: refresh="1" attribute now restricted to administrators to prevent cache-busting by unprivileged users
  • Maintenance: bumped version to 2.1.0 and updated Tested up to: 6.7
  • Added uninstall.php to clean up all plugin data on deletion

2.0.0 — 2026-02-01

  • Complete rewrite — proper multi-file plugin structure
  • Admin dashboard to save and manage sheets
  • Export buttons: CSV, Excel, PDF, Print (DataTables Buttons extension)
  • Column visibility toggle
  • Four visual themes: Default, Stripe, Minimal, Dark
  • Global settings: cache duration, default page length, default theme
  • Improved security: nonce verification on all AJAX requests, wp_kses sanitisation on cell output
  • Unique table IDs using wp_generate_uuid4() — supports multiple tables per page
  • HTTP status code check with user-friendly error messaging
  • Translation-ready (text domain: sheetfusion)

1.0.0 — 2026-01-01

  • Initial release