A witness said building materials caught fire, then spread to scaffolding and then to the 28-storey building, the official Xinhua News Agency reported.
A firefighter said people were still trapped in the building, but he did not know how many.
More than 80 fire trucks were called to battle the blaze, Shanghai state television said, and streams of water could be seen flowing into the building, which appears to be gutted.
The city government said in a statement that 100 people were rescued, but it was not clear if that included the 90 people Xinhua said were hurt in the fire.
A doctor at Shanghai’s Jing’an Hospital said more than 20 seriously hurt people had been admitted for treatment.