父的经训堂，曾于鸳湖书院山长段玉裁门下受业。嘉庆七年（1802年）中式壬戌科二甲进士。选庶吉士，散馆授翰林院编修。历任司业、洗马，参纂《全唐文》、《西巡盛典》、《大清一统志》等。累迁侍读学士。道光帝即位，参修《仁宗实录》，道光二年（1822年）主福建乡试，留任学政。道光八年（1828年）历官顺天、道光十二年（1832年）安徽学政，以“绝苞苴，禁请托”闻名，林则徐、陈庆镛出自门下。授工部侍郎。道光十八年（1838年）以耳疾离任。道光二十六年（1846年）南归，曾主杭州敷文书院、松江敬业书院讲席，人称“小湖