# XLSForm

Using Excel, you can create any survey using the XLSForm format. XLSForm is a standardized way to design surveys by structuring questions, options, and logic directly within an Excel spreadsheet. Each question, response choice, validation rule, or survey logic is clearly defined in dedicated worksheets, making it simple to build and maintain even complex surveys.&#x20;

Once designed, an XLSForm can easily be imported in ngSurvey using the XLSForm importer.

Here's a small sample illustrating the basic structure of an XLSForm which is based on 2 worksheets "survey" and "choices":

**survey worksheet**

| type                | name     | label                       |
| ------------------- | -------- | --------------------------- |
| text                | name     | What is your name?          |
| integer             | age      | How old are you?            |
| select\_one yes\_no | employed | Are you currently employed? |

**choices worksheet**

| list\_name | name | label |
| ---------- | ---- | ----- |
| yes\_no    | yes  | Yes   |
| yes\_no    | no   | No    |

This simple example demonstrates how clearly structured questions and choices allow rapid survey design and straightforward conversion to interactive survey forms.

{% hint style="warning" %}
Repeat and entities of the XLSForm format are not yet supported.
{% endhint %}

## 🚀 How to create an XLSForm survey

To start your first XLSForm based survey you may start by downloading the Excel based template below. This template contains the main structure around which you can build your XLS form and also documentation of the different types that can be used to create your form.

{% file src="/files/gJqPSJDskHSeIGtF7n8Y" %}

A standard XLSForm is built using 3 Excel sheets within the same Excel file :

* [**Survey sheet**](/projects/import-export/xlsform/survey-sheet.md) the survey sheet contains the main structure of your survey with its questions, pages, constraints and visibility rules.
* [**Choices sheet**](/projects/import-export/xlsform/choices-sheet.md) the choices sheet let you define groups of lists of answers. These list of answers can then be used as set of answers for the selection based questions that you have defined in the survey sheet.  &#x20;
* [**Settings sheet**](/projects/import-export/xlsform/settings-sheet.md) the settings sheet let you define common properties for your form like the form title.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ngsurvey.com/projects/import-export/xlsform.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
