初年參軍
熙寧六年(1073),登進(jìn)士甲科,調(diào)秀州司戶參軍,為汝州州學(xué)教授,移亳州。遷和州防御推官。元祐(1086-1094)初,歷知金華、澠池縣。紹圣四年(1097),為潁州郡王院、吳王宮大小學(xué)教授,知真州。建中靖國元年(1101),除提舉河?xùn)|路常平,留為開封府推官,遷工部員外郎,徙吏部,兼國史編修官。蔡京引為講議司參詳官,擢禮部侍郎。崇寧二年(1103),出知瀛州,歷知河南府、蘇州。
中年選書
以《哲宗實(shí)錄》修成,遷朝奉大夫,移知潭州、洪州。五年,召為兵部侍郎。大觀元年(1107),出知鄭州,改應(yīng)天府。四年,召還為工部侍郎。出使遼,使還,撰《見聞錄》以進(jìn)。政和(1111-1118)初,知定州,徙濠州。重和元年(1118),知江寧府,差充江南東路安撫使,以平方臘功遷龍圖閣直學(xué)士,進(jìn)延康殿學(xué)士。宣和五年(1123)卒,年七十。程俱稱其:“以高明之姿,純正之學(xué),敏達(dá)之才,自經(jīng)術(shù)、政事、文詞、字畫、養(yǎng)生之妙、方外之理,皆意出人上,自以無前,一時(shí)交游號為第一?!敝形募恚褚沿??!度卧姟肪硪灰凰木配浧湓姸??!度挝摹肪矶咚氖掌湮乃钠?。事跡見程俱《王公行狀》(《北山集》卷三四)、《京口耆舊傳》卷二、《宋史》卷三四七本傳。