Skip to content
Julian Halliwell edited this page Nov 11, 2021 · 13 revisions

Returns a workbook object from a query. The query column names are included by default as a bold header row.

workbookFromQuery( data [, addHeaderRow [, boldHeaderRow [, xmlFormat [, streamingXml [, streamingWindowSize [, ignoreQueryColumnDataTypes [, datatypes[, autoSizeColumns ] ] ] ] ] ] ] ] )

Required arguments

  • data query: the data you want to download

Optional arguments

  • addHeaderRow boolean default=true: whether to include the query column names as a header row
  • boldHeaderRow boolean default=true: whether to make the header row bold
  • xmlformat boolean default=false: whether to create an XML spreadsheet (.xlsx)
  • streamingXml boolean default=false: whether to create a memory-efficient streaming XML spreadsheet
  • streamingWindowSize integer default=100: (positive integer greater than 0) the maximum number of rows that are kept in memory at once while populating a streaming spreadsheet, before being flushed to disk.
  • ignoreQueryColumnDataTypes boolean default=false: whether to ignore the query column data types (e.g. VarChar) and auto-detect each cell type from the value.
  • datatypes struct: specify data types as keys and the columns they should apply to in your data as an array of column names or (positional) numbers. These types will override the query column types or auto-detection where possible. Possible data type keys are: string, numeric, date, time, boolean, auto. See addRows() for examples.
  • autoSizeColumns boolean default=false: whether to adjust the column widths automatically to fit the data added (see Note 1 below).

Chainable? Yes using spreadsheet.newChainable().fromQuery().

Notes

  1. Using autoSizeColumns with streaming xlsx workbooks requires a lot of extra processing which can affect performance.

Example

data = QueryNew( "First,Last", "VarChar,VarChar", [ [ "Susi","Sorglos" ], [ "Frumpo","McNugget" ] ] );
spreadsheet = New spreadsheet();
spreadsheetObject = spreadsheet.workbookFromQuery( data );
Clone this wiki locally