NExS.app Worksheet Reference
The NExS.app worksheet is a special worksheet in your Excel file that configures how your app works. This reference documents all available options.
Structure
The worksheet uses a key-value format in columns A, B, and C:
| A | B | C |
|---|
| 1 | app | App Name | |
| 2 | | option | value |
| 3 | view | Range | |
| 4 | | option | value |
- Section headers (
app, view) go in column A
- Options go in column B
- Values go in column C (or D for nested options)
- Comments start with
# or //
App Section
The app section must come first and defines global settings.
Required
| Option | Description |
|---|
| (name) | Column B of the app row contains your app’s name |
Optional
| Option | Values | Description |
|---|
mode | open, personal, team, access code | Deployment mode (default: open) |
access codes | See below | List of access key/code pairs for access code mode |
accessList | Comma-separated emails | Allowed users for team mode |
allowedOrigins | Domain patterns | Restrict which sites can embed your app |
noViewNav | true | Hide the built-in view navigation menu |
submitList | Comma-separated emails | Recipients for sendData actions |
cellLocks | Range(s) | Define shared cell locks for Open mode |
chartOptions | See below | Global chart styling defaults |
sliderOptions | See below | Global slider styling defaults |
ledOptions | See below | Global LED styling defaults |
access codes
| A | B | C | D |
|---|
| 2 | | access codes | | |
| 3 | | | KeyName1 | code123 |
| 4 | | | KeyName2 | code456 |
chartOptions
| A | B | C | D |
|---|
| 2 | | chartOptions | | |
| 3 | | | palette | #3366cc, #dc3912, #ff9900 |
| 4 | | | fontSize | medium |
| 5 | | | backgroundColor | white |
| 6 | | | textColor | #333333 |
| 7 | | | alternateColor | #f5f5f5 |
| 8 | | | highlightColor | #ffffe0 |
| 9 | | | markers | circle, square, diamond |
| 10 | | | markerSize | 4 |
| 11 | | | lineWidth | 2 |
| 12 | | | gradientFill | true |
sliderOptions
| A | B | C | D |
|---|
| 2 | | sliderOptions | | |
| 3 | | | color | #337ab7 |
| 4 | | | shape | round |
ledOptions
| A | B | C | D |
|---|
| 2 | | ledOptions | | |
| 3 | | | size | medium |
View Section
Each view section defines a visible area of your app. You can have multiple views.
Basic Syntax
The range can be:
Sheet1!A1:G18 — Specific range on a sheet
Sheet1 — Entire worksheet
A1:G18 — Range on the first sheet
MyNamedRange — A named range from Excel
View Options
| Option | Values | Description |
|---|
name | Text | Display name in view navigation |
backgroundColor | Color or cell ref | View background color |
public | true | Makes view accessible without login (team/access code modes) |
hidden or invisible | true | Hides view from UI (accessible via API only) |
accessKeys | Comma-separated keys | Access keys that can see this view (access code mode) |
readACL or readAccess | Comma-separated emails | Users who can see this view (team mode) |
writeACL or writeAccess | Comma-separated emails | Users who can edit inputs (team mode) |
Editable Cells
| Option | Values | Attributes |
|---|
editable | Cell(s) or range(s) | required, email, phone, checkbox, radioGroup, accessKeys: keys |
input / inputs | Same as editable | Same attributes |
Examples:
| A | B | C | D |
|---|
| 2 | view | Sheet1!A1:H20 | | |
| 3 | | editable | B3:B8 | |
| 4 | | inputs | B3:B5, C12 | |
| 5 | | input | D5 | required |
| 6 | | input | E5 | required, email |
| 7 | | inputs | F1:F3 | checkbox |
| 8 | | inputs | G1:G4 | radioGroup |
| 9 | | inputs | H1:H5 | accessKeys: Admin |
Chart Definition
Charts overlay a range of cells within a view.
| A | B | C | D |
|---|
| N | | chart | A10:E18 | |
| N+1 | | | source | Sheet2!A1:D6 |
| N+2 | | | type | column |
Chart Options
| Option | Values | Description |
|---|
source | Range | Data source (required) |
type | See below | Chart type (default: column) |
sort | ascending, descending | Sort X-axis |
show | total, percent | Additional data for stacked charts |
orientation | row, column | Data layout in source |
yMin | Number | Minimum Y-axis value |
yMax | Number | Maximum Y-axis value |
linkTo | Chart reference | Link to another chart |
highlight | Cell reference | Cell value highlights X-axis section |
Chart Types:
column, bar, line, area, pie, stacked column, stacked bar, stacked line, stacked area, legend
Chart Styling Options
| Option | Values | Description |
|---|
palette | Comma-separated colors | Data series colors |
fontSize | small, medium, large | Axis label size |
backgroundColor | Color | Chart background |
textColor | Color | Labels and titles |
alternateColor | Color | Alternating Y-axis bands |
highlightColor | Color | X-axis highlight color |
markers | Comma-separated shapes | circle, square, diamond, triangle, triangle-down |
markerSize | Number | Marker size (0 = none) |
lineWidth | Number | Line thickness (0 = none) |
gradientFill | true | Gradient fill for area charts |
legend | Position | top, bottom, left, right, none, reversed |
Slider Definition
| A | B | C | D |
|---|
| N | | slider | | |
| N+1 | | | cell | B5 |
| N+2 | | | linkedCell | C5 |
Slider Options
| Option | Values | Description |
|---|
cell | Cell reference | Where slider appears (required) |
linkedCell | Cell reference | Editable cell to update (required) |
minimum | Number | Min value (default: 0) |
maximum | Number | Max value (default: 10) |
step or increment | Number | Step size (default: 1) |
color | #rrggbb | Handle color |
shape | round, square, triangle | Handle shape |
LED Definition
LED Options
| Option | Values | Description |
|---|
cell | Cell reference | Where LED appears (required) |
size | small, medium, large | LED size |
Cell values: red, green, yellow, blue, or any other value for “off”
| A | B | C |
|---|
| N | | button | A10 |
| N | | buttons | A10, B10, C10:C12 |
Button behavior is defined in the cell content.
Button Content Syntax
Label {action: parameters, property: value}
| Action | Syntax | Description |
|---|
setView | {setView: 'ViewName'} | Navigate to another view |
setInputs | {setInputs: ['cell', 'value', ...]} | Set input cell values |
sendData | {sendData: 'A1:C10'} | Email data to submitList |
alert | {alert: 'message'} | Show alert dialog |
confirm | {confirm: {prompt: '...', ok: {...}, cancel: {...}}} | Confirmation dialog |
getCellLock | {getCellLock: 'cell'} | Get temporary cell lock |
confirmCellLock | {confirmCellLock: 'cell'} | Make lock permanent |
releaseCellLock | {releaseCellLock: 'cell'} | Release cell lock |
releaseAllCellLocks | {releaseAllCellLocks: true} | Release all locks (owner only) |
| Property | Values | Description |
|---|
bg | Color | Background color |
fg | Color | Text color |
fontWeight | normal, bold | Font weight |
fontStyle | normal, italic | Font style |
disabled | true/false | Disable button |
hidden | true/false | Hide button |
extra | Any value | Custom data for event handlers |
| Macro | Description |
|---|
%CELL | The button’s cell address |
%REQUIRED | true if any required inputs are empty |
# Simple navigation
Next {setView: 'Page 2'}
# Form submission
Submit {disabled: %REQUIRED, sendData: 'A1:C10', setView: 'Thank You'}
# Styled button
Click Me {bg: 'steelblue', fg: 'white', fontWeight: 'bold'}
# Dynamic (using formula)
="Submit {disabled: " & IF(B1="", "true", "false") & "}"
# With confirmation
Delete {confirm: {prompt: 'Delete all data?', ok: {setInputs: ['A1:A10', '']}, cancel: {}}}
Complete Example
| A | B | C | D | E |
|---|
| 1 | app | Rate Calculator | | | |
| 2 | | mode | open | | |
| 3 | | allowedOrigins | *.mycompany.com | | |
| 4 | | submitList | rates@mycompany.com | | |
| 5 | | chartOptions | | | |
| 6 | | | palette | steelblue, coral | |
| 7 | | | fontSize | small | |
| 8 | view | Calculator!A1:G25 | | | |
| 9 | | name | Calculator | | |
| 10 | | backgroundColor | white | | |
| 11 | | editable | B3:B8 | required | |
| 12 | | editable | C12 | email | |
| 13 | | chart | D1:G12 | | |
| 14 | | | source | Data!A1:D6 | |
| 15 | | | type | bar | |
| 16 | | slider | | | |
| 17 | | | cell | B10 | |
| 18 | | | linkedCell | B5 | |
| 19 | | | minimum | 0 | |
| 20 | | | maximum | 1000 | |
| 21 | | led | | | |
| 22 | | | cell | G20 | |
| 23 | | buttons | A24, A25 | | |
| 24 | view | Calculator!A30:G45 | | | |
| 25 | | name | Results | | |
| 26 | | public | true | | |