熙宁二年(1069)先后在齐、襄、洪、福、明、亳等州任知州,颇有政绩。元丰三年(1080),徙知沧州,过京师,神宗召见时,他提出节约为理财之要,颇得神宗赏识,留三班院供事。元丰四年,神宗以其精于史学,委任史馆修撰,编纂五朝史纲,未成。元丰五年,拜中书舍人。次年卒于江宁府。理宗时追谥“文定”。著有《元丰类稿》。