治七年（1868年）戊辰科进士。选翰林院庶吉士，散馆授编修。光绪七年（1881年）授山西道监察御史，改广东道、河南道。光绪八年（1882年）弹劾太常寺卿周瑞清受贿，引出云南报销案。光绪九年（1883年）外放山西大同府知府，光绪十六年（1890年）改直隶大名府知府，调保定府。光绪二十三年（1899年）升云南迤东道，署云南布政使。光绪二十八年（1902年）调直隶通永道，署直隶按察使。光绪三十一年（1905年）任安徽按察使，次年升江苏布政使。光绪三十三年（1907年）任江苏巡抚。