The high-speed train was heading south along the east coast of Taiwan when the work vehicle appeared on the rails.
When the train ran into the vehicle, carriages derailed, and some of them got stuck in a tunnel adjacent to the accident site.
The vehicle was parked when it came rolling and ended up on the rails - and was then driven on by the high-speed train.
The site manager is suspected of not having ensured that the handbrake was applied.
146 people to hospital
The fact that the accident took place in a tunnel meant that rescue personnel had difficulty reaching certain carriages.
The rescue work dragged on, but in the evening local time all passengers could have been rescued from the demolished wagons.
Transport Minister Lin Chia-Lung visited the accident site on Friday, saying that 490 people were on board.
146 people are said to have been taken to hospital.
The accident site must be investigated further
Rescue workers at the accident site are working on Saturday to remove the rear carriages, which are relatively undamaged and never had time to enter the accident tunnel.
The most severely affected wagons remain inside the tunnel and must be examined further before they are moved.
Taiwan's President Tsai Ing-Wen will visit Hualien and injured people in hospitals there on Saturday.
The president has also ordered that all flags in the country be hoisted at half mast for three days.