Automated progress report of students in modules

Community Champion

Attached Excel workbook is able to download data from Canvas (using Get API calls) to create a progress report of all students in a course with modules to which requirements are added (see How do I add requirements to a module?).

Canvas Module Progress Sheet

Canvas Module Progress Comments

Canvas Module Progress Stats

(no data means not yet downloaded while download is in progress)


  • MS Office 2010 on MS Windows (higher versions work most likely, but are not tested)
  • MS Office 2011 on Mac OS X (version 2016 for Mac barely supports VBA and is therefore not supported)

Enable editing and content

In case Excel displays the following warnings, enable editing and content for the Workbook to work properly:

Vba Enable Editing

Vba Enable Macro Content


First fill in the settings:

Run progress report

To run a progress report:

  • find the course ID of the course from which the report needs to be generated in the address bar
    Canvas Module Progress Course ID
  • fill in the Course ID in the worksheet at cell B2 (e.g. 210)
    Canvas Module Progress Enter Course ID
  • click the button Download data from Canvas to create the progress report

Depending on the amount of students and module items this may take a some time (about half a second per student).

In the top-left corner the download progress is displayed in percentages.

To cancel the download progress click the button Download data from Canvas again (only while download progress is less than 100%, otherwise downloading would start again).

Versions history:

  • 1.11 (July 29, 2020)
    • Updated the processing of API pagination (Instructure changed the method regarding the enrolments API) to accommodate for both the old and the new method.
    • Changed some Excel formulas to prevent #DIV/0! from being displayed
  • 1.13 (November 9, 2022)
    • Added a row "Requirement" below the module item names
    • If a module item has no requirement, the completion information per student stays empty and a comment is added for explanation
      (note: When no requirements are configured for a module, Canvas assumes progress as Complete, whether students interacted with the content or not at all)


In case you experience extremely slow performance (a minute per row or so) to the point that Excel is freezing, then make sure the Windows Defender Antimalware Client version is at least 4.18.2102.4. You can check the version on your device following this guide How to Find the Microsoft Defender Version Installed in Windows 10.


  • Disclaimer: use this workbook at your own risk (I cannot be held responsible for any undesired consequences). This Excel workbook only reads from Canvas, never writes to it and should not have any negative effect on Canvas in terms of integrity or performance.
  • First try it on your test environment (slow performance is expected and may cause time-out errors) before using it on production
  • Check samples from reports with actual data in Canvas or in case your student(s) get accounted for their activities in modules as Canvas is the most reliable source
  • Suggestion: save the workbook as a template (xltm file) after entering the settings so you can always start with a fresh and clean workbook so you will be prompted to save it. Keep in mind that if you don't save the file in a macro-enabled workbook format (xlsm), running the report again will not work any more as it requires the macro functionality to run.
  • I created this workbook largely in my own spare time (for fun, to learn, to share and because I can), so huge amounts of support can't be expected
  • Leave your comments in case you are using it, if it makes your work easier or more fun


Download the latest version of this file from this Google Drive folder.

Do not open in Google Docs nor in MS Office online, because that will not work, just first save the file and then open it in the Microsoft Excel application.

Additional tools