ODK2Doc: Convert ODK forms to word documents

Hi all,

I'd like to introduce a small Shiny Application (web app) I made that converts ODK questionnaires to formatted word documents that can be edited further and/or printed out.

At present, it takes as input a standard xls form, which must have three sheets:

  1. survey
  2. choices
  3. settings

It will then produce a formatted word document - users have the option of choosing to add skip logic for each question, as well. By default, it will not do this.

I'd like to get some feedback from the community on if this is useful and if there are any changes and/or other features people would like to see added to it!

You can check it out here: https://zaeendesouza.shinyapps.io/ODK2Doc/



Thank giving this tool
I check but giving error , please check
Screenshot attach for your reference

Can you share excel format or make any video , how to use


There are three (3) binding requirements for this to work:

  • survey sheet
  • choices sheet
  • settings sheet (with form_title) added - it will work even if the name isnt filled in, but the column needs to exist in the settings sheet.

As long as these sheets are populated using standard ODK/Kobo/SurveyCTO syntax and names, there will be no issue. See attached for a demo.

The full process:

Hi @zaeendesouza ,
Works fine for me (also with xlsx files).
Thanks for sharing and welcome to the ODK community forum :slight_smile:
When you'll get a chance don't hesitate to take some time to introduce yourself here .

1 Like

Thanks for testing it out, Mathieu. Happy that I can finally give something (small) back to the ODK community :slight_smile: Will do an intro post soon!

1 Like

Facing same issue
Can you check this excel file,
File attach for your reference
TEST.xlsx (12.8 KB)

Hi Azam, your form is empty in the choice sheet - try with a questionnaire that has questions. choices and a title.

Please check again i add new question but same error given
TEST.xlsx (13.8 KB)

Hi Azam,

I think the issue is that your form uses a column called 'label::english' while the requirement is just 'label'. Convert 'label::english' to 'label' and it should work fine. I will be pushing an update sometime next week, so will try to fix this, or mention that it you need to change the column to this.

Thanks for the feedback!