"In the explosion today 21 civilians and four policemen have been martyred," provincial police chief Ghulam Mustafa Mohsini told AFP.
"The civilians include school students and male elders. Four others including three students and one civilian man have been wounded," he said.
The governor of the Mohammad Agha district, where the explosion took place, said earlier 12 bodies had been identified and that most of them were school students.
"We are still trying to recover bodies from under the debris of collapsed shops. There are more people dead," said the official, Abdul Hameed Hamid.
The blast was on a main road from southern and eastern Afghanistan that heads into the capital Kabul.
Three shops were totally destroyed and windows smashed up to one kilometre (less than a mile) away from the explosion, the district governor said.
Provincial government spokesman Din Mohammad Darwish said the explosives were hidden under firewood in the overturned truck.
"It seems that the explosives were remotely detonated as a crowd gathered around the truck in the morning. Our initial information is that 19 people, all of them schools students, have been killed and wounded," he said.
The blast struck children heading to school.
There was no immediate claim of responsibility for the attack.
Afghanistan has for years suffered a wave of bombings by Islamist insurgents, including from the Taliban, who were in government between 1996 and 2001 until they were ousted by a US-led invasion.
Truck bomb in eastern Afghan city kills five, Taliban claim res...