Six people died after jumping from the 22-floor building while another victim suffered fatal burns, officials said.
Emergency services said at least 65 people were being treated in hospitals.
People were seen screaming for help as hundreds of panicked onlookers crowded the streets of the upmarket Banani commercial district.
Some workers slid down a television cable on the side of the building. Others grabbed ropes lowered by emergency service helicopters which pulled them out of the blaze.
The inferno erupted barely a month after at least 70 people were killed in Dhaka apartment buildings where illegally stored chemicals exploded.
Bangladesh slum fire kills at least eight
The latest disaster brought new scenes of horror amid fears that the toll would rise. More than 100 ambulances were parked in streets around the building.
Shoikot Rahman heard colleagues raise the alarm and ran to safety before smoke and flames engulfed the building.
"When I heard a fire broke out in the building, I quickly rushed out," he told AFP. "Many of my colleagues are still trapped in the office."
Firefighters on long ladders smashed windows to create escape routes. More than one hour after the blaze erupted people could still be seen on the 13th and 14th floors desperately waving for help amid clouds of black smoke.
Army helicopters dangled ropes that victims grabbed so they could be lifted to safety, with crowds below cheering and applauding every time someone was rescued.
Three hospitals reported that six men and women had died or arrived with fatal injuries after jumping from the office block. They included a Sri Lankan man whose body was taken to the army's Kurmitola Hospital.
Dilkhosh Ahmed at the Banani Clinic said one of the victims had attempted to use the television cable to climb down, but slipped and fell around the eighth floor.
The seventh death from burns was recorded at the Dhaka Medical College hospital.
Would-be Bangladesh hijacker was carrying fake gun: official
Helicopters were deployed to drop water on the blaze as scores of firefighters backed by navy and air force specialists struggled to bring it under control.
A top fire official said the flames had been stopped from spreading to adjoining buildings.
"Teams have entered the building and they are scouring the floors for any remaining victims. The building did not have fire-fighting equipment," said Lieutenant Colonel Julfikar Rahman of the Dhaka fire service told reporters.
Some workers told of risky escapes.
"My uncle and two more people jumped from their floor. His hand and leg are broken and his eye is damaged," one man said without giving his name.
A man who gave his name as Jico said he had been working on the 19th floor. "The fire started in a restaurant on the sixth floor. We ran to the roof as soon as we heard about it and then used a wooden plank to get over to the next building."
Fire disasters regularly hit Bangladesh's major cities where safety standards are notoriously lax.
A massive blaze in Dhaka's old quarter on February 21 killed at least 70 people and injured 50 others.
Fire service officials said chemicals illegally stored in an apartment building exploded and set alight five buildings and nearby streets. That blaze took more than 12 hours to control.
A June 2010 fire in the nearby neighbourhood of Nimtoli, one of the most densely populated districts of the capital, killed 123 people.
In November 2012, a fire swept through a nine-story garment factory near Dhaka killing 111 workers. An investigation found it was caused by sabotage and that managers at the plant had prevented victims from escaping.
Experts said inspections of buildings in the city frequently found fire stairs blocked with stored goods and exit doors locked.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ