Of the 18 people wounded, 16 were children. China’s state-run news agency, Xinhua said two of the children were seriously injured.
The attack took police in the city of Beiliu in the southwestern region of Guangxi.
A suspect has been arrested by police, the news agency added.
Unconfirmed Chinese media reports suggested one person had died in the attack, which was reportedly carried out by a 25-year-old man. An appeal for blood was issued by local hospitals treating the victims.
Last June, 39 children and teachers were injured in a knife attack at another nursery in Guangxi.
Chinese state media identified the alleged attacker as a security guard at the school in Wangfu township, in the city of Wuzhou. The suspect was detained by police.
According to The Global Times, 37 of the victims suffered minor injuries while two were badly hurt. None of the injuries were life-threatening.
Additional reporting by Reuters