Police Supt. Mark Fisher said they had arrested the 47-year-old suspect, accused of shooting people in the parking lot area and then in the mill office. Fisher said they seized a shotgun at the scene.
Two victims were pronounced dead at Nanaimo Regional General Hospital, police said. The shooting occurred at a Western Forest Products sawmill in Nanaimo, on Vancouver Island.
The Island Health Authority said one victim was airlifted to a hospital in Victoria in critical condition and another was in a hospital in Nanaimo in stable condition.
Western Forest Products President and CEO Don Demens confirmed the suspect is a former employee.
"We're a local BC company and it's very tragic," Demens said.
Police received a call at about 7 a.m. saying shots had been fired and said they arrived at the mill within minutes.
Police hadn't released any information about the victims, the surspect or a potential motive for the shooting.
"We are only five hours into this investigation," he said. "This type of extreme violence is very rare."
At the mill, crying family members had gathered outside the facility, awaiting word about whether their loved ones were hurt. One worker said the mill's employees had been sent home for the day.
British Columbia Premier Christy Clark expressed shock.
"This kind of tragedy is almost unknown in British Columbia," Clark said. "Most of us here today cannot imagine what the victims and their families must be going through. They should know they are not alone. The people of British Columbia are standing with them."
Such public shootings in Canada are rare.
In March, a man was shot and killed after opening fire in a courthouse just outside Toronto, injuring a police officer.