How to Embed an Excel Table in WordPress Without a Plugin
Table of Contents
You want to put your Excel data on a WordPress page. The standard advice is "use a plugin" — TablePress, WP Table Manager, wpDataTables. They work, but they're overkill for a straightforward table that already exists as an Excel spreadsheet.
A faster approach: convert your Excel table to HTML, then paste the HTML code directly into WordPress. No plugin, no monthly fee, no account. Here's exactly how.
The Full Workflow: Excel → HTML → WordPress
The three-step process takes about three minutes total:
- Convert: Drop your .xlsx file into the Excel to HTML converter. Select your sheet and table style. Click "Copy HTML."
- Open WordPress: Navigate to the page or post where you want the table. In the block editor, add a "Custom HTML" block.
- Paste: Paste the HTML code into the Custom HTML block. Preview the page to verify the table looks right.
The generated HTML uses inline CSS — styles written directly on each element — so it renders correctly without any theme stylesheet conflicts. The table looks the same regardless of which WordPress theme you're using.
How to Add a Custom HTML Block in the Block Editor
If you haven't used the Custom HTML block before, here's where to find it:
- In the block editor, click the "+" (Add block) button — either in the toolbar or at the bottom of your content.
- Search for "HTML" in the block search.
- Click "Custom HTML" (the block with the code brackets icon).
- Paste your converted HTML table code into the block.
You'll see the raw HTML in the editor. Click "Preview" in the block's toolbar (the eye icon) to see the rendered table. Or switch to the WordPress Preview (top right) to see the full page.
If you're using the Classic Editor (the older WordPress editor), go to Text view (not Visual) and paste the HTML there. Pasting HTML into the Visual tab often strips tags.
Sell Custom Apparel — We Handle Printing & Free ShippingWhich Table Style to Use for Your WordPress Site
The converter offers four built-in styles. For WordPress, the choice depends on your site's design:
- Minimal: Bare-bones styling — just the structure. Works well on sites with strong existing typography where you want the table to blend in naturally.
- Striped: Alternating row colors for readability. Good for data-heavy tables with many rows. The alternating colors use the inline styles, so they won't conflict with your theme's table styles.
- Bordered: Clean borders on all cells. The most universally clear layout. Good for comparison tables, pricing, technical specifications.
- Dark: Dark background with light text. Works well on dark-themed sites. On light-themed sites, the dark table creates a strong visual contrast — intentional if you want to highlight the data, jarring if you don't.
One advantage of using HTML: you can manually edit the inline styles after pasting. If you want to match your site's brand colors, change the background hex codes directly in the HTML block. Basic HTML editing — find the header background color and replace it with your brand color.
Making the Table Mobile-Responsive
Wide tables with many columns can overflow on mobile screens. The generated HTML doesn't automatically add responsive behavior (Excel tables with many columns are inherently wide). Here's a quick fix:
Wrap the table in a div with horizontal scroll enabled. In the Custom HTML block, add this before the table tag:
<div style="overflow-x:auto;width:100%;">
And close the div after the closing table tag:
</div>
This adds horizontal scrolling on mobile rather than letting the table break the layout. It's the most common approach for wide data tables on the web.
Alternatively, simplify your Excel data before converting: reduce column count, shorten column headers, or split a wide table into two narrower ones. Fewer columns = more mobile-friendly.
How to Update the Table When Your Data Changes
This is the trade-off versus a plugin: when your Excel data updates, you need to re-convert and re-paste manually. The HTML table in WordPress is a static snapshot, not a live connection to your spreadsheet.
The update workflow:
- Open the updated .xlsx file in the Excel to HTML converter.
- Convert and copy the new HTML.
- In WordPress, open the page and click the Custom HTML block.
- Select all the existing HTML and replace it with the new code.
- Update the page.
This takes about 90 seconds. If you're updating monthly or quarterly, this workflow is faster than maintaining a plugin. If you're updating daily, a proper table plugin with live data connections is worth the setup.
For web developers embedding tables programmatically, the developer-focused guide covers more efficient integration patterns.
Try It Free — No Signup Required
Runs 100% in your browser. No data is collected, stored, or sent anywhere.
Open Free Excel to HTML ConverterFrequently Asked Questions
How do I add an Excel table to a WordPress page without a plugin?
Convert your .xlsx file to HTML using a browser-based converter that generates inline CSS. Copy the HTML, add a "Custom HTML" block in WordPress, and paste. The table renders immediately with the inline styles intact — no plugin or theme modification needed.
Why use a Custom HTML block instead of pasting directly?
The WordPress Visual editor (and Gutenberg paragraph blocks) strip HTML tags when you paste. The Custom HTML block preserves the raw HTML exactly as you pasted it, so the table renders correctly. In the Classic Editor, use the Text (not Visual) tab for the same reason.
Does the HTML table conflict with my WordPress theme styles?
Generally no. The converter generates inline CSS — styles written directly on each element as style="" attributes. These take precedence over theme stylesheets, so the table looks consistent regardless of your theme. Some themes add aggressive table resets that could affect the layout, but this is uncommon.
Can I make the Excel table update automatically in WordPress?
Not with this approach — the HTML is a static snapshot. For auto-updating tables, you'd need a plugin like WP Table Manager with a live data connection, or a Google Sheets embed with auto-refresh. For quarterly or monthly updates, re-converting manually is fast enough.

