Basic Structure
Starsheet does not impose strict structure requirements for your spreadsheet. The only requirement is that Starsheet assumes your data has a single heading row which will be used for the JSON keys.
Basic Structure
By default, each worksheet from your spreadsheet will be output as an array of JSON objects, with each object representing a row in that spreadsheet. For example:
Google Sheet Features
Supported Features
The following Google Sheet features are known to work with Starsheet. Most will have no impact on the output data, but editor-facing features like Data Validation and Conditional Formatting can be used to create a robust editing experience that minimises bugs caused by data issues.
Feature | Comment |
---|---|
Formulas | The JSON output will contain the value outputted by the formula as displayed in Google Sheets |
Tables | No impact on JSON output but useful to create a robust editing experience |
Drop Downs | No impact on JSON output but useful to create a robust editing experience |
Tickboxes | Output as TRUE or FALSE in JSON output |
Data Validation | No impact on JSON output but useful to enforce rules to ensure the generated JSON is compatible with your application(s) |
Conditional Formatting | No impact on JSON output but useful to create a robust editing experience |
Protected Sheets/Ranges | No impact on JSON output but allows you to put access controls in place to limit who can edit certain fields |
Unsupported Features
Feature | Comment |
---|---|
Text Formatting | Text formatting such as bold, italic, font colours and background colours will be ignored |
Hidden Rows/Columns | Data from hidden ranges will be included in the output. See instructions on how to hide data in Starsheet |
Filters | Filters will be ignored. Data hidden by filters will still appear in the output |
Naming Conventions
Starsheet does not impose any naming convention for worksheets and fields. The JSON output will mirror the exact names used in the Google Sheet to ensure interoperability with all programming languages and frameworks.
Whilst you are free to include spaces and a mix of capitalisation in your worksheet and field names, we strongly recommend adopting a consistent naming convention such as snake_case
, camelCase
or PascalCase
.
In the future, we may introduce a project-level setting to automatically convert spreadsheets to your preferred naming convention. Please contact us if this feature is important to you and you wish to be an early adopter.
Special/Reserved Characters
The following symbols are used by Starsheet to trigger specific behaviours so should not be used in field and/or worksheet names unless you are looking to trigger the functionality described.
Symbol | Description | Scope | How it’s used |
---|---|---|---|
# | Hash | Worksheet and Column Names | Used to hide a worksheet or row. |
$ | Dollar Sign | Worksheet Names | |
. | Period | Column Names | Used in column titles to define data to be output as a JSON Object. |
[] | Square Brackets | Column Names | Used in column titles to defined fields to be combined into an array, |
! | Exclamation Mark | Column Names | Used to trigger specific functionality such as hiding rows or causing a sheet to be output as key-value pairs. |
: | Colon | Column Names | Reserved for future use |
? | Question Mark | Column Names | Reserved for future use |
<> | Triangle Brackets | Column Names | Reserved for future use |