The incident happened Thursday on Highway 2 south of Edmonton, CBC News reported.
Alberta Health Services said 22 people were taken to hospitals for treatment of non-life-threatening injuries. About 80 others were treated at the scene.
Derek Fildebrandt, who witnessed the series of crashes, said it looked like more than 200 vehicles were involved.
"It's a massive, massive crash," he said. "It extended, got to be at least a few kilometers."
Officials said slick roads from a spring snowstorm caused the pileup.
A separate crash near Flatbush, Alberta, killed three people -- a 23-year-old woman, a 4-year-old girl and a 2-year-old boy -- Thursday morning, CBC News reported.
They were in a car that collided head-on with a pickup truck. Three others were injured in the incident.
Police said conditions at the time of the collision were "poor due to heavy snow and low visibility."
Senate Democrats to pull all-nighter on climate change
Interpol investigating stolen passports on missing flight