A suspect is in custody.
A 42-year-old man entered the Traverse City store on Saturday afternoon, local time, and used a folding knife to stab 11 people, the sheriff's office said in a statement on social media.
A sheriff's deputy arrived within minutes and took the man into custody, and people in the store also helped apprehend the suspect and treat victims, the sheriff's office said.
"Eleven is 11 too many, but thank God it wasn't more," Grand Traverse County Sheriff Michael Shea told reporters.
Tiffany DeFell, 36, who lives in nearby Honor, said she was in the car park when she saw chaos erupt around her.
"It was really scary. Me and my sister were just freaking out," she said. "This is something you see out of the movies. It's not what you expect to see where you're living."
Munson Healthcare said via social media that 11 people were being treated at the region's largest hospital in northern Michigan.
Spokesperson Megan Brown said all were stabbing victims. Six were critical and five were in serious condition, she said.
Shea said the suspect is believed to be a Michigan resident but declined to share further details.
Governor Gretchen Whitmer said: "Our thoughts are with the victims and the community reeling from this brutal act of violence."
Walmart said in a statement it would continue to work closely with law enforcement.
"Violence like this is unacceptable. Our thoughts are with those who were injured and we're thankful for the swift action of first responders," the statement said.
FBI deputy director Dan Bongino said in a social media post that bureau officials were responding to "provide any necessary support".
Traverse City is a popular holiday spot on the coast of Lake Michigan. It is known for its cherry festival, wineries and lighthouses.