Back to Projects

Question Builder Excel Add-in

Work Projects

JavaScriptOffice.js

Summary

Created an accounting question builder Excel add-in that granted the ability to tag and format Excel worksheets in such a way that would allow them to be parsed and converted into HTML output that could be used in the creation of Moodle cloze questions. Also developed new functionality in the question builder to allow the possibility to convert the entire Excel workbook into an Excel file format to be used in tandem with the accounting question taker Excel add-in.

Description

Educators needed a way to author accounting exercises directly within the spreadsheet environment they were already comfortable with, then export those exercises in formats compatible with the LMS question engine. No existing tool bridged the gap between Excel-based content authoring and the platform's cloze question format.

I built this Excel add-in from the ground up using vanilla JavaScript with an OOP class architecture, organizing the codebase into dedicated classes for each question type, utility functions, table rendering, paragraph handling, and output generation. The add-in supports multiple question types including multiple choice, dropdown tables, compound journal entries, and if-statement inputs, with a color-coded cell tagging system that authors use to mark answer cells, tolerances, and formatting.

A major technical achievement was the spreadsheet export and OfficeJS generation pipeline, which converts tagged Excel workbooks into both HTML cloze output and standalone Excel files with data validation, sheet protection, and frozen rows. I integrated @cortex-js/compute-engine for formula simplification and drill-down, enabling the system to reduce complex Excel formulas to canonical forms for grading. The add-in handles multi-sheet workbooks supporting up to 20 tabs with correct formula offset handling, and generates formula grading tables that map author formulas to final cell positions. I also implemented inline styling extraction, spanning factor calculations, and currency formatting for international use.

The project demonstrates deep expertise in the Office.js API, advanced formula processing, and the ability to architect a substantial application in pure JavaScript without framework dependencies.

Key Highlights

  • OOP class architecture in vanilla JavaScript with no framework dependencies
  • Spreadsheet export pipeline converting tagged workbooks to HTML cloze output and standalone Excel files
  • Formula simplification and drill-down powered by @cortex-js/compute-engine
  • Multi-sheet support handling up to 20 tabs with correct formula offset handling
  • Color-coded cell tagging system for marking answers, tolerances, and formatting
Back to Projects