Sunday, September 25, 2011

Tables for Blogger: newly buggy Google Spreadsheet embedding

One of my frustrations with MarsEdit is the lack of table support. (Another is the weak management of images. Windows Live Writer has the reference design for both.)

Blogger's newish editor is no better. No table support. Tables are a bit of a lost art [2]; recently I had to summon the ghost of Netscape Composer (SeaMonkey) to add tables to a blogger post. [Update: I think AppleWorks used to 'save as HTML'. Pages doesn't. However, I discovered, Apple's bundled TextEdit.app for does tables (fixed widths only, 10.6 and 10.7) and exports as pretty clean HTML.]

This morning, apropos of nothing, it occurred to me there might be an alternative. Google Spreadsheet does tables (including, now, both vertical and horizontal cell merge) ... I found a reference (warning - the reference is obsolete)

Publishing Google Spreadsheet to Blogger - Google Docs Help

Go to the top of right of the spreadsheet view. Press the 'Share' button. Then, click "publish as a webpage". Then, click "publish this document". At this point, it is published. If you want to embed it, click "more publishing options at the top of the mock pop-up. Then, choose 'html for embedding'. Finally, generate the embedding code."

The reference, of course, is obsolete and so is Google's online documentation. I call this the Facebooking of tech -- there is no more documentation.

Here is how it works with the new editor.

  1. Click on the Google Spreadsheet "Collaborate" menu item.
  2. Choose "Publish as web page"
  3. Click "automatically republish" and enable publishing (top half of dialog as of today).
  4. Then, from bottom half of same dialog, where it says "get a link" click on the "web page" drop down and choose "HTML to embed in a page" from the intriguing list of options [4]

It publishes as an iFrame [3]. It's only partly implemented -- the obvious Named Range drop down was empty even though I created a Named Range. I tried the undocumented range specification as below ...

Named range

But although that worked when I viewed the shared web page I still got the entire spreadsheet when I tried their generated embed code. So there's a bug in there somewhere.

------

Yech. Since this functionality is clearly not finished in the new editor, I hope they'll get this one together sometime soon. I suspect it worked better in the old spreadsheet editor.

BTW, this is what the generated HTML sort of renders as. The markup is CSS infested and hence unreadable. In the old days FrontPage would have generated easy to follow table markup.

.

cell A1 B1 + C1

.

cell A2 and A3 B2 C2

.

B3 C3

.

A4

 

 

-----

[1] It sucks that they use div tags instead of p tags to mark paragraphs.
[2] The web made a bad decision when we started using CSS rather than table embedding for dynamic layout.
[3] Incidentally, how I embed iframes for Google feed lists into an old web page.
[4] Interesting list of web publishing options!

publish options

 

3 comments:

Mary said...

Here's another alternative: use the spreadsheet to write the HTML to make the body of your table.

I've explained doing it with Excel: http://tech.kateva.org/2011/09/tables-for-blogger-newly-buggy-google.html

But I suspect that even Google Docs spreadsheets will have text-functions that are good enough.

Mary said...

Arrgh. What I meant to say is "I've explained doing it with Excel: http://blogger-hints-and-tips.blogspot.com/2011/10/using-excel-to-make-html-for-body-of.html"

JGF said...

Neat tip Mary!