Google Sheets Reader/Writer

Licensing options for this format begin with FME Professional Edition.

Overview

The Google Sheets Reader/Writer plug-in provides FME with access to data within Google Sheets. This format can also work with data in Google Spreadsheets, the predecessor to Google Sheets.

  • A single Google Sheet contains one or more worksheets.
  • A worksheet corresponds to a feature type in FME.
  • Each row in a worksheet corresponds to a feature in FME.

To reduce ambiguity, this document will refer to a Google Sheet as a spreadsheet.

Note: Relationship to Google Spreadsheets: The Google Sheets Reader/Writer plug-in is the successor to the Google Spreadsheets Reader/Writer plug-in. Google has deprecated the interface used by the Google Spreadsheets plug-in. To maintain functionality, workspaces using the Google Spreadsheets plug-in must be recreated using the Google Sheets plug-in.

Reader Overview

The Google Sheets Reader supports reading any Spreadsheet accessible to your account, including ones published to the web.

The Google Sheets API conveys cell references in formulas using the R1C1 format. The Google Sheets Reader will always convert these references to the A1 style seen in the web interface.

No features are produced for blank rows.

Writer Overview

The Google Sheets Writer supports writing to any Spreadsheet for which your account has write access.

Note that writing behavior differs from most other FME writer plug-ins: rows cannot be truly deleted or inserted – they can only be cleared of values, or updated. It may be useful to think of the Google Sheets Writer as operating on a fixed matrix of cell values. The Google Sheets Writer must also read the current value of a cell in order to make any changes to it, as required by the Google Sheets API. This behavior is reported in the Workbench Log pane.

Similar to the Google Sheets web interface, formulas may be written simply by starting attribute values with an equal sign. Cell references may be specified in either the A1 format, or the R1C1 format. The Google Sheets Writer does not validate formulas.

Unlike the Google Sheets web interface, the Google Sheets Writer is unable to insert or delete rows in between existing rows of the Spreadsheet. This is a limitation of the Google Sheets Cells Feed API. In the context of the Google Sheets Writer, a DELETE operation is equivalent to writing empty strings to the cells in a row. If there are not enough rows or columns in the worksheet to accommodate features, the worksheet will be resized to fit.

All feature types on the Google Sheets Writer must have at least one attribute defined on its schema. The order of attribute definition is important: when the Use Attribute Names As Column Positions parameter is set to No (the default), attributes correspond to columns in order of their definition, starting from the Start Writing At Column parameter. The Google Sheets Writer does not attempt to match attribute names to columns by reading the field names row of an existing worksheet.