I've used "Pour and Restore" with decent success. Proper application is important, and many applications may be needed.
It was a while ago that I used it, and I'm not sure if it completely removed stains. But it definitely lightened the stain and removed oil to the point that water was no longer beading. (I used it to remove oil drops in the driveway, where aesthetics was the objective; also to remove oil stains in the garage in preparation for floor painting, where elimination of beading was the objective.)