Tag Archives: Google

Posting multiple lines to a Google Docs Spreadsheet via the API

I’ve been writing a perl cgi script to populate a Google spreadsheet, using LWP, the spreadsheet list-based feeds, and the model outlined in the Google article “Using cURL to interact with Google Data Services“.

Everything was working fine until I had an html form with some multiline textarea input fields.  I wanted multiple lines of user input to go into a single cell in the Google spreadsheet.  When you’re manually entering data into a Google spreadsheet, you just use ctrl-enter to move to the next line inside a cell.

Some documentation said to put a linefeed (ascii 10, or “\n” in perl) between the lines, and it really is that simple.  Where I got hung up was in thinking that I already had a linefeed in the form field.  It turns out that I had carriage return + linefeed, which the Google spreadsheet API doesn’t like.  All you have to do is strip out the carriage return (“\r” in perl) and it will work fine.

I might not have had this problem with browsers running on Mac or linux, but I’m primarily dealing with browsers on Windows.