北宋润州丹阳(今属江苏)人,字正仲。庆历进士。治平中,为国子监直讲,后知太常礼院。与王安石交厚,及安石执政,以论事不合,即谢不往。元丰时,历国史编修官、知制诰兼判太常寺、知开封府,累迁户部尚书。元右二年(1087),拜尚书右丞,次年,迁左丞,反对尽罢京师保甲与恢复黄河帮道之役。后出知州府。奉诏修北宋地理总志,名《元丰九域志》。