太平兴国五年（980年），与颜明远、刘昌言、张观等以现任官吏身份参加进士试。因系南唐旧臣，虽学问文章均优，但“太宗借科第不与”。被授诸道掌书记，得佐武成军，后为着作佐郎，知陵州（治今四川仁寿县），因献《金明池赋》，召为三馆编修。雍熙三年（986年），任着作郎、太常博士，历官舒州（治今安徽潜山县）知州、水部员外郎、黄州（治今湖北黄州市）知州、职方员外郎、商州（治今陕西商县）知州等职。晚年定居洛阳。宋真宗景德四年（1007年）卒，终年七十八岁。一生好着述，有着作23种、计900余卷。着有《江南登科记》、《唐孝弟