嘉庆十年（1805年），道光十六年（1836年）中丙申恩科会试一甲第一名（状元）。道光十八年（1838年）被任册封琉球国之正使，代表清政府谕祭去世的琉球王并册封新王，在琉球160天内表现颇为清廉，归国后着有《使琉球录》。道光二十年（1840年），出任山东乡试副主考官，后任国史馆协修、文渊阁校理、方略馆纂修等官职。道光二十六年（1846年），因为察考一等，就任广东琼州府知府。道光二十九年（1849年），转护雷琼道。咸丰九年（1859年）任云南临安府知府，同治三年（1864年）任云南巡抚，并参与剿灭太平天国的军