Employees at the Kronospan plant were told earlier Wednesday production would be cut, the Swiss edition of The Local reported.
The incident, in which four people were injured, occurred in a cafeteria at the plant in Lucerne canton.
"There was a shootout with several dead and several injured," Urs Wigger, a spokesman for Lucerne cantonal police told online news site Blick.ch.
Kronospan, operator of the plant, is part of the family-owned Swiss Krono group.
"We're all in a state of shock," Kronospan Chief Financial Officer Urs Fluder told Radio Pilatus.
Kronospan is the largest employer in Meznau.
"We're doing everything humanly possible to adequately console the [victims'] families and support them financially," Fluder said.
Meznau Mayor Adrian J. Duss said the events were "unimaginable, incomprehensible and leave me speechless," the Swiss newspaper Le Matin reported.