WordPress.org

Plugin Directory

SheetFusion – Sync Google Sheets Into Tables. No Row Limits, No API Keys.

SheetFusion – Sync Google Sheets Into Tables. No Row Limits, No API Keys.

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 or drop in the block, done.

No personal visitor data is ever transmitted to external servers.

Features

  • Gutenberg block — native block editor support with a full settings sidebar; live server-side preview in the editor canvas
  • Shortcode[sheetfusion] continues to work exactly as before; the block and shortcode share the same rendering engine
  • 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 block or 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.

Blocks

This plugin provides 1 block.

  • SheetFusion Table Embed a public Google Sheet as an interactive, sortable, searchable table — no API key required.

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

How do I add a SheetFusion table in the block editor?

Click the + button to add a new block, search for SheetFusion Table, and insert it. Enter your Sheet ID and Sheet Name in the settings panel on the right. The table will render a live preview directly in the editor.

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 block or 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"]

In the block editor, these options are available in the Server-Side Filter panel in the block settings sidebar.

Can I disable the export buttons?

Yes — set export="" to hide all buttons, or pass a specific list: export="csv,print". In the block editor, use the Export & Buttons panel.

How do I change the theme?

Add theme="dark" (or stripe / minimal) to your shortcode. In the block editor, select a theme from the Display panel. 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"]

In the block editor, this option is available in the Advanced panel.

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. (The block always renders from cache in the editor preview — force-refresh only applies to the shortcode.)

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

2 kwiytnia 2026
Was looking for a simple plug-in to display a Google Sheet directly in Wordpress. Most plug-ins have extra features I don’t need or required the pro version to allow for automated syncing. SheetFusion did exactly what I was looking for.
Read all 1 review

Contributors & Developers

“SheetFusion – Sync Google Sheets Into Tables. No Row Limits, No API Keys.” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

2.1.1 — 2026-04-03

  • Feature: native Gutenberg block (sheetfusion/table) — full block editor support with settings sidebar (Sheet Source, Display, Sorting, Export & Buttons, Server-Side Filter, Advanced panels) and live server-side preview in the editor canvas
  • Architecture: block and shortcode share a single PHP rendering function (SheetFusion_Shortcode::render()) — no duplication of fetch, parse, HTML build, caching, or DataTables initialisation logic
  • Asset loading: DataTables scripts continue to load conditionally; the existing mark_assets_needed() flag is triggered by the block render path in exactly the same way as the shortcode
  • Added blocks/sheetfusion-table/block.json, blocks/sheetfusion-table/render.php, assets/js/blocks.js, assets/css/blocks-editor.css
  • Updated plugin title to „SheetFusion – Sync Google Sheets Into Tables. No Row Limits, No API Keys.”
  • Bumped version to 2.1.1; updated Tested up to: 6.9

2.1.0 — 2025-01-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 — 2024-06-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 — 2024-01-01

  • Initial release