An open API service indexing awesome lists of open source software.

https://github.com/lirantal/typeform-export-excel

Export a Typeform survey questionnaire to an Excel format
https://github.com/lirantal/typeform-export-excel

excel export nodejs typeform

Last synced: 5 months ago
JSON representation

Export a Typeform survey questionnaire to an Excel format

Awesome Lists containing this project

README

          


typeform-export-excel


Export a Typeform survey questionnaire to an Excel format


npm version
license
downloads
build
Known Vulnerabilities
Security Responsible Disclosure



# About

This library exports a Typeform survey to an Excel file with already aggregated results for all questions and their answers, and includes a tiny CLI helper to do this from command-line.

Benefits over Typeform's CSV export:

- **Organized data**: Each question is represented in its own worksheet.
- **De-normalized**: Each question has all the aggregated answers counts already present in the worksheet in an organized manner.
- **Graph-ready**: Data points are presented in a table structure allowing you to easily create a graph out of it.

## Install

```bash
npm install typeform-export-excel
```

## Usage (Library)

```js
const TypeformExportExcel = require('typeform-export-excel')

// NEVER EVER STORE SENSITIVE DATA IN YOUR SOURCE CODE
// THIS IS JUST FOR THE SAKE OF EXAMPLE AND BREVITY
const apiKey = '1234'
const formId = 'Pdi981'

const typeformToExcel = new TypeformExportExcel({
credentials: {
apiKey: apiKey
},
workbookConfig: {
creator: 'Liran',
date: new Date()
}
})

typeformToExcel
.createWorkbookFromForm(formId)
.then(() => {
return typeformToExcel.writeToFile({
filename: 'out.xlsx',
isDated: true
})
})
.then(() => {
debug(`Successfully exported: ${fileName}`)
})
.catch(error => {
console.error(`Error: ${error.message}`)
debug(error.stack)
})
```

## Usage (CLI)

Once installed, a binary named `typeform-export-excel` will be available on the path.

The following is supported command line arguments:

| Option Name | Option Value | Description |
| ----------- | ------------ | --------------------------------------------------------------------------------- |
| --apiKey | 1234 | typeform's api key, for example: `--apiKey 1234` |
| --formId | Pdi981 | the relevant form id, usually shows up in the URL, for example: `--formId Pdi981` |
| --filename | out.xlsx | the filename to create and write to, for example: `--filename out.xlsx` |
| --dated | | (optional) the argument for adding export date to filename, for example: `--dated`|

Example:

```bash
$ typeform-export-excel --apiKey 1234 --formId Pdi981 --filename survey-results.xlsx --author Liran
```

# Related

[@lirantal/typeform-client](https://github.com/lirantal/typeform-client) - A friendlier Typeform Node.js API client

# Contributing

Please consult [CONTIRBUTING](./CONTRIBUTING.md) for guidelines on contributing to this project.

# Author

**typeform-export-excel** © [Liran Tal](https://github.com/lirantal), Released under the [Apache-2.0](./LICENSE) License.