How to insert spreadsheets in a WordPress blog, part 1

Learn how to embed simple spreadsheets in your WordPress blogs with Gelsheet.

Gelsheet with WordPress

Never mind what popular social networks and other cloud-based services would like you to believe. Running an independent blog, be it for fun or as part of your business, still makes a lot of sense in many situations, and remains a much more flexible way to keep an online presence. To prove this, in this and my next post, I'll describe how to do something that, in my humble opinion, many (potential) bloggers still ignore is possible: embedding simple but real spreadsheets, with formulas and all, in your blog posts.

Yes, I do know that many people solve this problem with spreadsheets created and hosted in some Google Docs/Google Drive account. Indeed, this is very useful, if not the only feasible solution, in several scenarios. There already are tutorials that explain how to do it with WordPress and other content management systems.

That approach, however, is not what I'm talking about. I'll show you a couple of other ways to embed simple spreadsheets in your WordPress blogs. While not as complete (especially the first one) as Google spreadsheets, these methods are both based on free/open source software, don't force you to have a Google account, and (at least partially) keep the spreadsheets on your server.

Let's start with the less-featured but simplest solution: Gelsheet. The Gelsheet home page presents it both as an add-on to older versions of the FengOffice online suite and as a WordPress plugin, which is what interests us. The main problem is that there isn't any documentation on how to do install and use that plugin, but I hope to solve that with this post.

The process is much simpler than you may think. First of all, download the actual code of the plugin and unpack it in the wp-content/plugins subfolder of your WordPress installation. Next, activate it in the plugin panel of your WordPress dashboard. That's it, as far as the installation is concerned.

Usage is equally simple. While you're editing a post (do this in HTML, not visual mode), place the cursor where the spreadsheet should appear and click on the almost invisible Add Spreadsheet icon (Figure A).

Figure A

Figure A

Click on the Add Spreadsheet icon.

This action opens the pop-up Gelsheet interface that looks and behaves just like an ordinary spreadsheet (Figure B).

Figure B

Figure B
The Gelsheet interface looks and behaves just like an ordinary spreadsheet.

Once you're done with formulas and numbers, save the "book" you just created (that's how Gelsheet calls its spreadsheets, see Figure C) and close the pop-up window. 

Figure C

Figure C

Gelsheet calls its spreadsheets "books".

The content of your spreadsheet will be saved, like the rest of the post, in the MySQL database, while a placeholder in the text of the post will tell WordPress where to display it:

Let's insert a spreadsheet now [gs_book id="1"]

The result is something that blends in perfectly with the rest of your blog (Figure D).

Figure D

Figure D

The spreadsheet blends in perfectly with the rest of your blog.

Other things you should know about Gelsheet

You can format the spreadsheet cells in several ways, as well as use formulas (Figure E). From this point of view, the choice currently available in Gelsheet is much less than what you would have in any desktop spreadsheet or in Google Docs, but it may be enough for many users.

Figure E

Figure E

You can use formulas in Gelsheet spreadsheets.

Gelsheet books are not editable by visitors of your blog, and they're not interactive in any way. This will be a non-issue for many bloggers and a show-stopper for others. In any case, be prepared for a bit of disappointment with the Export function, which lists PDF, ODS, XSL and XSLX as possible output formats, but none of them seems to work right now. All you get is yet another version of your book, somewhere inside the MySQL database.

This, as far as I'm concerned, is the most irritant quirk of Gelsheet (yes, I'm trying to not call it a bug). Regardless of the format, exporting or saving the book you're working on always produces a new one with a progressive ID number. So, if you changed some figures or formulas in the existing book and saved it, in order to display that new version in your post, you have to manually correct the ID number in the post source. On a positive side, Gelsheets books are not bound to the post in which you first embed them. Therefore, adding this string:

[gs_book id="1"]

to any of your blog posts will always include that version of your spreadsheet.

Even with these limitations, which are not irrelevant by any means, I think that Gelsheet may be useful to many bloggers -- if nothing else, because it's so simple to install and use. Besides, with free/open source software, improvements are always possible, aren't they? In fact, one of my reasons to write this post is to raise more interest in this nice little package, in the hope that it will stimulate further development work. In the meantime, stay tuned for the next post, which will deal with embedded online spreadsheets. 


Marco Fioretti is a freelance writer and teacher whose work focuses on the impact of open digital technologies on education, ethics, civil rights, and environmental issues.


Hi, I am trying to upload the plugin but it is giving error that file is too big. What is the solution for it. Can you help please.


Pasting here an email I just sent to a reader of this article, since I think it could interest many others:

> Hi Marco:
> Thanks for the great article. I do have a question. Is it possible
> to insert a spreadsheet into WordPress without the spreadsheet
> lines? Basically no borders on any of the cells.

Hi Chris,

I'm happy that you found my article useful. In general, borders in HTML
tables are activated by the presence of the "border" attribute with a
non-zero value:

<table border=1 >

changing that to

<table border=0 >

has just the effect you want. In this case, I **think** (cannot test
it myself now, already canceled that test installation to prepare
another article...) that you should make the change above in these
files of the gelsheet plugin:


to all occurrences of that string. Hope this helps!