If possible use the online XLSForm converter. XLSForm.exe won't work on all Windows systems, it doesn't run the output xml through ODK Validate, and it won't be updated as frequently as the online version.
Using XLSForm.exe:
- Download the zip here.
- Extract it somewhere.
- Drag an XLSForm onto xlsform.exe. A corresponding xform will appear in the output directory.
Problems:
Some systems might be missing the Microsoft Visual C runtime DLL and it is not bundled with the exe.
If you are familiar with Python one work around would be to run the XLSForm code directly.
Setting up Python on Windows:
Install Python 2.7
This has been updated to use Python 2.7 (now built with 2.7.3)
Add Scripts directory to PATH
You only need to do this for the instructions below. Open a CMD window and execute:
set PATH=%PATH%;C:\Python27\Scripts
Install pip
On Windows, Install setup-tools and use easy_install pip
On Linux, you can use python-pip package.
InsecurePlatformWarning
To avoid this warning you likely need to install PyOpenSSL
pip install urllib3 pyopenssl ndg-httpsclient pyasn1
python
import urllib3.contrib.pyopenssl
urllib3.contrib.pyopenssl.inject_into_urllib3()
exit()
Install misc libraries
In the CMD window, run:
easy_install pip
pip install xlrd lxml
Download and install elementtree
Download these at: elementtree
unzip and run
python setup.py install
in the unzipped directory
Install py2exe
Install py2exe
Download and install the 32-bit version (0.6.9)
Building the exe:
-
Download the pyxform source and add the nested pyxform folder to this project's root.
-
Delete the .git repo within that directory.
-
In this projects root directory
python setup.py py2exe
-
Create an
output
directory within thedist
directory. -
Rename the
dist
directory toxlsform
. -
Right-click on
xlsform
, choose Send To / Compressed (zipped) folder.
The resulting zip file is equivalent to the zip available on the opendatakit.org downloads page
NOTE: at the end of the build of the dist directory, you will get this (expected) summary:
copying C:\Python27\lib\site-packages\py2exe\run.exe -> D:\workspace\xlsform_exe\dist\xlsform.exe
The following modules appear to be missing
['ElementC14N', '_scproxy', 'cElementTree', 'odk_validate.check_xform']
*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.
Make sure you have the license if you distribute any of them, and
make sure you don't distribute files belonging to the operating system.
WS2_32.dll - C:\WINDOWS\system32\WS2_32.dll
SHELL32.dll - C:\WINDOWS\system32\SHELL32.dll
USER32.dll - C:\WINDOWS\system32\USER32.dll
ADVAPI32.dll - C:\WINDOWS\system32\ADVAPI32.dll
KERNEL32.dll - C:\WINDOWS\system32\KERNEL32.dll