# excel 2 Moodle
{width=35%}
This Python program helps to create Moodle questions in less time.
The idea is to write the questions data into a spreadsheet file, from which the program generates the moodle compliant xml Files.
All questions or a selection of questions can be exported into one xml file to be imported into moodle.
## Concept
The concept is, to store the different questions into categories of similar types and difficulties of questions, for each of which, a separated sheet in the Spreadsheet document should be created.
A `settings` sheet contains global settings to be used for all questions and categories.
Another sheet stores metadata for the different categories of questions.
And each category lives inside a separate sheet inside the spreadsheet document.
## Getting Started
### Installation
To get started with excel2moodle first have a look at the [installation](https://jbosse3.gitlab.io/excel2moodle/howto.html#excel2moodle-unter-windows-installieren)
If you already have python and uv installed, it is as easy as running `uv tool install excel2moodle`.
### [ Documentation ](https://jbosse3.gitlab.io/excel2moodle/index.html)
Once excel2moodle is installed you can checkout the [example question sheet](https://gitlab.com/jbosse3/excel2moodle/-/tree/master/example?ref_type=heads)
in the repository.
Some steps are already documented as [ tutorials ](https://jbosse3.gitlab.io/excel2moodle/howto.html)
you can follow along.
And please have a look into the [**user Reference**](https://jbosse3.gitlab.io/excel2moodle/userReference.html)
of the documentation.
That part explains each part of defining a question.
## Functionality
* Equation Verification:
+ this tool helps you to validate the correct equation for the parametrized Questions.
* Question Preview:
+ This helps you when selecting the correct questions for the export.
* Export Options:
+ you can export the questions preserving the categories in moodle
### Question Types
* Generate multiple Choice Questions:
+ The answers can be pictures or normal text
* Generate Numeric Questions
* Generate parametrized numeric Questions
* Generate parametrized cloze Questions
{width=80%}
## Licensing and authorship
excel2moodle is lincensed under the latest [GNU GPL license](https://gitlab.com/jbosse3/excel2moodle/-/blob/master/LICENSE)
Initial development was made by Richard Lorenz, and later taken over by Jakob Bosse
## Supporting
A special thanks goes to the [Civil Engineering Departement of the Fachhochschule Potsdam](https://www.fh-potsdam.de/en/study-further-education/departments/civil-engineering-department)
where i was employed as a student associate to work on this project.
If You want to support my work as well, you can by me a [coffee](https://ko-fi.com/jbosse3)
# Changelogs
## 0.6.1 (2025-07-12)
Fixing import error caused by dumping pyside meta package
### bugfix (1 change)
- [fixing pyside import error](https://gitlab.com/jbosse3/excel2moodle/-/commit/e5e0fc7695caa1a6864785828ff7311fa9624ad4)
## 0.6.0 (2025-07-12)
Added variable generator and other architechtural improvements
### documentation (1 change)
- [Documenting variable generator usage](https://gitlab.com/jbosse3/excel2moodle/-/commit/3e4d3019b29872b5cfddf5539d5ebe7638bca049)
### feature (5 changes)
- [Opening spreadsheet file works from within excel2moodle](https://gitlab.com/jbosse3/excel2moodle/-/commit/9470f12ea5f098745a3210b281a5144a938ae8b5)
- [Variables are copied to clipboard](https://gitlab.com/jbosse3/excel2moodle/-/commit/87a7e5ec75f899b293e89ad3c1742567e3ec1c29)
- [Removed dependence on pyside6-addons](https://gitlab.com/jbosse3/excel2moodle/-/commit/2b3a7cf48581c14bd9cb570cd61d1d41aa410e11)
- [Var Generator ready](https://gitlab.com/jbosse3/excel2moodle/-/commit/ea97f0639dc35a4c99a64ae3976ccc8a0ac5d109)
- [Merge development of BulletsObj, Parametrization and VarGenerator](https://gitlab.com/jbosse3/excel2moodle/-/commit/40b46f3c143e082f1bb985d6c8c4e68bb6b6a7a8)
### improvement (7 changes)
- [Adapted Param. Parser to use bullet Obj](https://gitlab.com/jbosse3/excel2moodle/-/commit/194cab7cc6aecb2d25d1cb9c1538ed7d607dd9e1)
- [Added bulleList Object](https://gitlab.com/jbosse3/excel2moodle/-/commit/4ea982b8d8dc270675d2cb059c59fa980ce38894)
- [Parametrics in beta stage](https://gitlab.com/jbosse3/excel2moodle/-/commit/7d04d8ef2fc603c1b12b6934c827ce079df5d540)
- [Refactor parse() method, to construct complete xml-Tree](https://gitlab.com/jbosse3/excel2moodle/-/commit/8dc4bea9aa0673d39357115254dd55b02c04114e)
- [Refactored question assembly to only update fields.](https://gitlab.com/jbosse3/excel2moodle/-/commit/d7accb69be3b4a1e65f59eeecfb463f2663fabd4)
- [Adapted NFM Question to parametricResult](https://gitlab.com/jbosse3/excel2moodle/-/commit/fe552cd2b538ca8886415c200e4a2a3ecc1fbb2f) ([merge request](https://gitlab.com/jbosse3/excel2moodle/-/merge_requests/5))
- [Implemented ParametricResult Object](https://gitlab.com/jbosse3/excel2moodle/-/commit/e36d025955f1cab8e0542d66263ab70e3d8980df) ([merge request](https://gitlab.com/jbosse3/excel2moodle/-/merge_requests/5))
## 0.5.2 (2025-06-30)
Extended Documentation and bugfix for import Module
### bugfix (2 changes)
- [Default question variant saved and reused.](https://gitlab.com/jbosse3/excel2moodle/-/commit/097705ba83727463a9b27cd76e99814a7ecf28df)
- [bugfix: Import module working again](https://gitlab.com/jbosse3/excel2moodle/-/commit/5f293970bcdac3858911cdcc102b72714af057bd)
### documentation (1 change)
- [documentation: Added how to build question database](https://gitlab.com/jbosse3/excel2moodle/-/commit/71ceb122aa37e8bf2735b659359ae37d81017599)
### feature (1 change)
- [Implemented MC question string method](https://gitlab.com/jbosse3/excel2moodle/-/commit/c4f2081d0000ee60322fe8eec8468fa3317ce7be)
### improvement (1 change)
- [Implemented ClozePart object](https://gitlab.com/jbosse3/excel2moodle/-/commit/878f90f45e37421384c4f8f602115e7596b4ceb9)
## 0.5.2 (2025-06-30)
Extended Documentation and bugfix for import Module
### bugfix (2 changes)
- [Default question variant saved and reused.](https://gitlab.com/jbosse3/excel2moodle/-/commit/097705ba83727463a9b27cd76e99814a7ecf28df)
- [bugfix: Import module working again](https://gitlab.com/jbosse3/excel2moodle/-/commit/5f293970bcdac3858911cdcc102b72714af057bd)
### documentation (1 change)
- [documentation: Added how to build question database](https://gitlab.com/jbosse3/excel2moodle/-/commit/71ceb122aa37e8bf2735b659359ae37d81017599)
### feature (1 change)
- [Implemented MC question string method](https://gitlab.com/jbosse3/excel2moodle/-/commit/c4f2081d0000ee60322fe8eec8468fa3317ce7be)
### improvement (1 change)
- [Implemented ClozePart object](https://gitlab.com/jbosse3/excel2moodle/-/commit/878f90f45e37421384c4f8f602115e7596b4ceb9)
## 0.5.1 (2025-06-24)
Minor docs improvement and question variant bugfix
### bugfix (1 change)
- [Bullet points variant didn't get updated](https://gitlab.com/jbosse3/excel2moodle/-/commit/7b4ad9e9c8a4216167ae019859ebaa8def81d57f)
## 0.5.0 (2025-06-20)
settings handling improved
### feature (2 changes)
- [Pixmaps and vector graphics scaled to fit in preview](https://gitlab.com/jbosse3/excel2moodle/-/commit/00a6ef13fb2a0046d7641e24af6cf6f08642390e)
- [feature: category Settings implemented](https://gitlab.com/jbosse3/excel2moodle/-/commit/d673cc3f5ba06051aa37bc17a3ef0161121cb730)
### improvement (1 change)
- [Tolerance is harmonized by questionData.get()](https://gitlab.com/jbosse3/excel2moodle/-/commit/8d1724f4877e1584cc531b6b3f278bdea68b5831)
### Settings Errors are logged (1 change)
- [Log Errors in settings Sheet](https://gitlab.com/jbosse3/excel2moodle/-/commit/07e58f957c69ea818db1c5679cf89e287817ced3)
Raw data
{
"_id": null,
"home_page": null,
"name": "excel2moodle",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "moodle, XML, teaching, question, converter, open educational Ressource",
"author": "Jakob Bosse",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/7f/d5/6229611b21594a69e19dac9521b6fa34cc0d9d288ad50e664ae2f52765dd/excel2moodle-0.6.1.tar.gz",
"platform": null,
"description": "# excel 2 Moodle\n{width=35%}\n\nThis Python program helps to create Moodle questions in less time.\nThe idea is to write the questions data into a spreadsheet file, from which the program generates the moodle compliant xml Files. \nAll questions or a selection of questions can be exported into one xml file to be imported into moodle.\n\n## Concept\nThe concept is, to store the different questions into categories of similar types and difficulties of questions, for each of which, a separated sheet in the Spreadsheet document should be created.\n\nA `settings` sheet contains global settings to be used for all questions and categories.\nAnother sheet stores metadata for the different categories of questions.\nAnd each category lives inside a separate sheet inside the spreadsheet document. \n\n## Getting Started\n\n### Installation\nTo get started with excel2moodle first have a look at the [installation](https://jbosse3.gitlab.io/excel2moodle/howto.html#excel2moodle-unter-windows-installieren)\nIf you already have python and uv installed, it is as easy as running `uv tool install excel2moodle`.\n\n### [ Documentation ](https://jbosse3.gitlab.io/excel2moodle/index.html)\nOnce excel2moodle is installed you can checkout the [example question sheet](https://gitlab.com/jbosse3/excel2moodle/-/tree/master/example?ref_type=heads) \nin the repository.\n\nSome steps are already documented as [ tutorials ](https://jbosse3.gitlab.io/excel2moodle/howto.html)\nyou can follow along.\n\nAnd please have a look into the [**user Reference**](https://jbosse3.gitlab.io/excel2moodle/userReference.html)\nof the documentation. \nThat part explains each part of defining a question.\n\n\n## Functionality\n* Equation Verification:\n + this tool helps you to validate the correct equation for the parametrized Questions.\n* Question Preview:\n + This helps you when selecting the correct questions for the export.\n* Export Options:\n + you can export the questions preserving the categories in moodle\n\n### Question Types\n* Generate multiple Choice Questions:\n + The answers can be pictures or normal text\n* Generate Numeric Questions\n* Generate parametrized numeric Questions\n* Generate parametrized cloze Questions\n\n\n{width=80%}\n\n## Licensing and authorship\nexcel2moodle is lincensed under the latest [GNU GPL license](https://gitlab.com/jbosse3/excel2moodle/-/blob/master/LICENSE)\nInitial development was made by Richard Lorenz, and later taken over by Jakob Bosse\n\n## Supporting\nA special thanks goes to the [Civil Engineering Departement of the Fachhochschule Potsdam](https://www.fh-potsdam.de/en/study-further-education/departments/civil-engineering-department) \nwhere i was employed as a student associate to work on this project.\n\nIf You want to support my work as well, you can by me a [coffee](https://ko-fi.com/jbosse3)\n\n# Changelogs\n\n## 0.6.1 (2025-07-12)\nFixing import error caused by dumping pyside meta package\n\n### bugfix (1 change)\n\n- [fixing pyside import error](https://gitlab.com/jbosse3/excel2moodle/-/commit/e5e0fc7695caa1a6864785828ff7311fa9624ad4)\n\n## 0.6.0 (2025-07-12)\nAdded variable generator and other architechtural improvements\n\n### documentation (1 change)\n\n- [Documenting variable generator usage](https://gitlab.com/jbosse3/excel2moodle/-/commit/3e4d3019b29872b5cfddf5539d5ebe7638bca049)\n\n### feature (5 changes)\n\n- [Opening spreadsheet file works from within excel2moodle](https://gitlab.com/jbosse3/excel2moodle/-/commit/9470f12ea5f098745a3210b281a5144a938ae8b5)\n- [Variables are copied to clipboard](https://gitlab.com/jbosse3/excel2moodle/-/commit/87a7e5ec75f899b293e89ad3c1742567e3ec1c29)\n- [Removed dependence on pyside6-addons](https://gitlab.com/jbosse3/excel2moodle/-/commit/2b3a7cf48581c14bd9cb570cd61d1d41aa410e11)\n- [Var Generator ready](https://gitlab.com/jbosse3/excel2moodle/-/commit/ea97f0639dc35a4c99a64ae3976ccc8a0ac5d109)\n- [Merge development of BulletsObj, Parametrization and VarGenerator](https://gitlab.com/jbosse3/excel2moodle/-/commit/40b46f3c143e082f1bb985d6c8c4e68bb6b6a7a8)\n\n### improvement (7 changes)\n\n- [Adapted Param. Parser to use bullet Obj](https://gitlab.com/jbosse3/excel2moodle/-/commit/194cab7cc6aecb2d25d1cb9c1538ed7d607dd9e1)\n- [Added bulleList Object](https://gitlab.com/jbosse3/excel2moodle/-/commit/4ea982b8d8dc270675d2cb059c59fa980ce38894)\n- [Parametrics in beta stage](https://gitlab.com/jbosse3/excel2moodle/-/commit/7d04d8ef2fc603c1b12b6934c827ce079df5d540)\n- [Refactor parse() method, to construct complete xml-Tree](https://gitlab.com/jbosse3/excel2moodle/-/commit/8dc4bea9aa0673d39357115254dd55b02c04114e)\n- [Refactored question assembly to only update fields.](https://gitlab.com/jbosse3/excel2moodle/-/commit/d7accb69be3b4a1e65f59eeecfb463f2663fabd4)\n- [Adapted NFM Question to parametricResult](https://gitlab.com/jbosse3/excel2moodle/-/commit/fe552cd2b538ca8886415c200e4a2a3ecc1fbb2f) ([merge request](https://gitlab.com/jbosse3/excel2moodle/-/merge_requests/5))\n- [Implemented ParametricResult Object](https://gitlab.com/jbosse3/excel2moodle/-/commit/e36d025955f1cab8e0542d66263ab70e3d8980df) ([merge request](https://gitlab.com/jbosse3/excel2moodle/-/merge_requests/5))\n\n## 0.5.2 (2025-06-30)\nExtended Documentation and bugfix for import Module\n\n### bugfix (2 changes)\n\n- [Default question variant saved and reused.](https://gitlab.com/jbosse3/excel2moodle/-/commit/097705ba83727463a9b27cd76e99814a7ecf28df)\n- [bugfix: Import module working again](https://gitlab.com/jbosse3/excel2moodle/-/commit/5f293970bcdac3858911cdcc102b72714af057bd)\n\n### documentation (1 change)\n\n- [documentation: Added how to build question database](https://gitlab.com/jbosse3/excel2moodle/-/commit/71ceb122aa37e8bf2735b659359ae37d81017599)\n\n### feature (1 change)\n\n- [Implemented MC question string method](https://gitlab.com/jbosse3/excel2moodle/-/commit/c4f2081d0000ee60322fe8eec8468fa3317ce7be)\n\n### improvement (1 change)\n\n- [Implemented ClozePart object](https://gitlab.com/jbosse3/excel2moodle/-/commit/878f90f45e37421384c4f8f602115e7596b4ceb9)\n\n## 0.5.2 (2025-06-30)\nExtended Documentation and bugfix for import Module\n\n### bugfix (2 changes)\n\n- [Default question variant saved and reused.](https://gitlab.com/jbosse3/excel2moodle/-/commit/097705ba83727463a9b27cd76e99814a7ecf28df)\n- [bugfix: Import module working again](https://gitlab.com/jbosse3/excel2moodle/-/commit/5f293970bcdac3858911cdcc102b72714af057bd)\n\n### documentation (1 change)\n\n- [documentation: Added how to build question database](https://gitlab.com/jbosse3/excel2moodle/-/commit/71ceb122aa37e8bf2735b659359ae37d81017599)\n\n### feature (1 change)\n\n- [Implemented MC question string method](https://gitlab.com/jbosse3/excel2moodle/-/commit/c4f2081d0000ee60322fe8eec8468fa3317ce7be)\n\n### improvement (1 change)\n\n- [Implemented ClozePart object](https://gitlab.com/jbosse3/excel2moodle/-/commit/878f90f45e37421384c4f8f602115e7596b4ceb9)\n\n## 0.5.1 (2025-06-24)\nMinor docs improvement and question variant bugfix\n\n### bugfix (1 change)\n\n- [Bullet points variant didn't get updated](https://gitlab.com/jbosse3/excel2moodle/-/commit/7b4ad9e9c8a4216167ae019859ebaa8def81d57f)\n\n## 0.5.0 (2025-06-20)\nsettings handling improved\n\n### feature (2 changes)\n\n- [Pixmaps and vector graphics scaled to fit in preview](https://gitlab.com/jbosse3/excel2moodle/-/commit/00a6ef13fb2a0046d7641e24af6cf6f08642390e)\n- [feature: category Settings implemented](https://gitlab.com/jbosse3/excel2moodle/-/commit/d673cc3f5ba06051aa37bc17a3ef0161121cb730)\n\n### improvement (1 change)\n\n- [Tolerance is harmonized by questionData.get()](https://gitlab.com/jbosse3/excel2moodle/-/commit/8d1724f4877e1584cc531b6b3f278bdea68b5831)\n\n### Settings Errors are logged (1 change)\n\n- [Log Errors in settings Sheet](https://gitlab.com/jbosse3/excel2moodle/-/commit/07e58f957c69ea818db1c5679cf89e287817ced3)\n\n",
"bugtrack_url": null,
"license": null,
"summary": "A package for converting questions from a spreadsheet, to valid moodle-xml",
"version": "0.6.1",
"project_urls": {
"Documentation": "https://jbosse3.gitlab.io/excel2moodle",
"Repository": "https://gitlab.com/jbosse3/excel2moodle.git"
},
"split_keywords": [
"moodle",
" xml",
" teaching",
" question",
" converter",
" open educational ressource"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "aefaa8d5ad4143845ac5fc31f6127e46632c10eb0c2d5fd4f559889b16689358",
"md5": "550b5f6fa6009a8b5b00b5beea7925ca",
"sha256": "e87fac076ae82687a286f9648cfc6ad3c9b875522958ff4efb23aa5501bb2172"
},
"downloads": -1,
"filename": "excel2moodle-0.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "550b5f6fa6009a8b5b00b5beea7925ca",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 73472,
"upload_time": "2025-07-12T20:34:31",
"upload_time_iso_8601": "2025-07-12T20:34:31.615191Z",
"url": "https://files.pythonhosted.org/packages/ae/fa/a8d5ad4143845ac5fc31f6127e46632c10eb0c2d5fd4f559889b16689358/excel2moodle-0.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7fd56229611b21594a69e19dac9521b6fa34cc0d9d288ad50e664ae2f52765dd",
"md5": "aede0436358173bee79cc2f4f06152e6",
"sha256": "b7c7a712a4a75739ffae328fb389e636688c90fe77b90629dfb6dd2015eaf074"
},
"downloads": -1,
"filename": "excel2moodle-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "aede0436358173bee79cc2f4f06152e6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 64541,
"upload_time": "2025-07-12T20:34:32",
"upload_time_iso_8601": "2025-07-12T20:34:32.495099Z",
"url": "https://files.pythonhosted.org/packages/7f/d5/6229611b21594a69e19dac9521b6fa34cc0d9d288ad50e664ae2f52765dd/excel2moodle-0.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-12 20:34:32",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "jbosse3",
"gitlab_project": "excel2moodle",
"lcname": "excel2moodle"
}