Skip to content

Export a Typeform survey questionnaire to an Excel format

License

Notifications You must be signed in to change notification settings

lirantal/typeform-export-excel

Repository files navigation

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

npm install typeform-export-excel

Usage (Library)

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:

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

Related

@lirantal/typeform-client - A friendlier Typeform Node.js API client

Contributing

Please consult CONTIRBUTING for guidelines on contributing to this project.

Author

typeform-export-excel © Liran Tal, Released under the Apache-2.0 License.