Community · Help

Sheetward User Guide

Turn an Excel workbook (or Google Sheet) into a multi-user web app — forms, validation, lookups, import/export and more.

Errors & warningsReference

When you upload a workbook, Sheetward checks it and reports two kinds of message. Errors block creation until you fix them; warnings are advisory — the app is still built, but something you may have intended didn't come through. This list grows as new checks are added.

Errors — creation is blocked until these are fixed:

MessageWhat it means — and how to fix it
No form sheetThe workbook has no Form_ sheet (and nothing was auto-detected as data). Name a sheet Form_<Name>, e.g. Form_Invoice.
Blank or fieldless formA Form_ sheet is empty, or has content but no readable fields. Add label/value rows, or a HEADER / LINE ITEMS layout.
Value with no field nameA form has a value with no field name in the cell to its left (its label was left blank) — Sheetward won't name a field after your data. Add the field name, or remove the value.
Merged cellsAny sheet except Info_ has merged cells. Every sheet is read positionally — a form as field name / value pairs, a list or rules sheet as column headings above rows — and merging makes that unreadable. Unmerge them (Home → Merge & Center) and give each entry its own cell. Two exceptions: Info_ sheets are never checked (they're prose), and a title merged across the top row of a Form_ sheet, starting at A1, is fine — provided row 2 beneath it is clear, meaning blank or holding only a section marker such as HEADER. A merged A1 sitting directly on the first field is an error like any other.
Repeated or lower-case section titleA form may group its fields into several sections, but each title must be in CAPITALS and each must be different. This also fires when a form has more than one LINE ITEMS section — of those, keep one.
Line items before the headerA form's line-items table sits above its header fields — the header must come first, with the LINE ITEMS table below it. This often means the sheet accidentally defines the same form twice (once as a column grid, once as label : value pairs); keep a single definition.
Duplicate role sheetThe workbook has more than one Rules_/Validation_, Formula_/Logic_, Translation_, or Info_ sheet. Each role must be a single sheet — merge them.
More than one keyA form marks more than one field as a key. Keep one key; if two columns together identify a record, mark the second as a subkey.
More than one sub-keyA form marks more than one field as a subkey. A form can have only one.
Sub-key without a keyA form has a subkey but no key. Add a key rule on the primary field.
Duplicate key (auto field)A section has two key fields once the auto-numbered field is counted — an auto/autogen field is implicitly the key. Keep one: put the key and auto on the same field, or drop the extra rule.
Repeated field nameA form section repeats a field name. The field would appear twice on the form but be a single field — filling either box fills the other, and one value is stored. Remove the duplicate row from the workbook, or rename one of them. (Currency and unit-of-measure pickers may repeat.)
Couldn't build the appAn unexpected problem building the app from the workbook — the message gives the detail. Usually a malformed rule or structure.

Warnings — the app is still created. They come in two lists: Worth checking (built from a judgement call — review it) and Left out of the app (not used at all):

MessageWhat it means — and how to fix it
Empty master-data listA List_ sheet produced no values, so its dropdown will be empty.
Rules not appliedA Rules_ sheet had rows but none could be read, so no validation was added.
Formulas not appliedA Formula_ (or Logic_) sheet had rows but none could be read, so no computed fields were added.
Unknown data typeA value in the Data type column wasn't recognized — Sheetward used the inferred type instead.
Two labels, one internal nameTwo different labels reduced to the same internal field name ("Amount (EUR)" and "Amount EUR" both give amount_eur). Both fields work — the second is stored under a numbered name. Only matters if you reference it in a Rules_ or Formula_ sheet.
Unrecognized rule typeA Rule Type isn't one of the supported types — that rule was skipped.
Unreadable rule valueA rule's Value couldn't be read for its type (e.g. an invalid pattern) — that rule was skipped.
Malformed formulaA formula has unbalanced parentheses or an invalid character — that formula was skipped.
Relation not resolvedA relation field's target couldn't be matched (missing form/field, or the target isn't a key/sub-key) — the field was left as plain text.
Ignored Info hintAn Info_ country/currency/locale value was malformed (e.g. a name instead of a code) — it was ignored.
Looks like locale formattingA text field's sample value looks like a date or number stored as text, which can be ambiguous across regions. Store real dates/numbers, or use ISO format (YYYY-MM-DD).
Stray sheet ignoredA sheet whose name matches no known prefix was ignored.
Dashboard issueA Report_/Analytics_ sheet couldn't be fully read — that widget or dashboard was skipped.
All of these are shown in the upload step before you create the app. Fix every error and re-upload. Warnings are safe to proceed with — but read the Worth checking list first: those parts are in your app and may not match what you wrote.