National Rail said the vehicle collided with the barriers at Billingshurst station and knocked debris into the path of the 08:36 London Victoria to Portsmouth service.
No-one on the train was injured but both the train and the track were damaged.
Services running through the station were suspended for several hours and emergency bus services have been operating all afternoon.
Southern Rail said these will now be replaced with a train shuttle service running between Horsham and Billingshurst and between Pulborough and Barnham/Bognor Regis. Buses will still run between Billingshurst and Pulborough.
Engineers are continuing to carry out repairs to the tracks and the disruption is expected to last until 5pm, the rail service provider added.