Question Taking Excel Add-in
Work Projects
Summary
Created an accounting question taker Excel add-in that allowed users to work on accounting questions Excel files created by the account question builder Excel add-in. Answers entered by a user would get parsed and checked by an advanced algorithm to properly account for all possible and equivalent answers to ensure users would be able to take advantage of Excel's formula feature for their answers.
Description
Students needed to complete accounting exercises within Excel itself rather than in a traditional web form, preserving access to Excel's formula capabilities while still enabling automated grading through the LMS. This add-in serves as the student-facing counterpart to the question builder, loading authored workbooks and providing an interactive answering and grading experience.
I built this add-in from scratch using Vue 3, Vuex, and Office.js, starting from a Yeoman generator scaffold and developing every layer, from Excel API integration and worksheet protection to LMS communication and formula validation. The core "Check My Work" feature provides real-time feedback by parsing student answers, comparing them against expected values, and generating visual cell-level indicators for correct, incorrect, and incomplete responses.
The most technically distinctive aspect is the formula validation engine powered by @cortex-js/compute-engine, which simplifies both the student's formula and the expected formula to canonical forms before comparison, ensuring that equivalent formulas like `=A1+A2` and `=SUM(A1:A2)` are recognized as correct. I built a MessagingService singleton for structured iframe communication with the LMS using postMessage events with acknowledgment patterns, implemented cell cutting prevention that restores formatting when students accidentally modify protected cells, and developed multi-sheet support with synchronized auto-saving across all tabs. The add-in also features an introduction carousel, guided help, and a review mode that unfreezes rows and displays answer reports.
The project showcases cross-platform Excel development with deep formula processing, real-time LMS integration, and thoughtful UX design for an educational context.
Key Highlights
- Formula validation engine that simplifies student and expected formulas to canonical forms for comparison
- Real-time "Check My Work" feedback with visual cell-level indicators for correct and incorrect answers
- MessagingService singleton for structured iframe communication with the LMS via postMessage
- Cell cutting prevention that restores formatting when students accidentally modify protected cells
- Multi-sheet support with synchronized auto-saving across all tabs