清末安徽泗州(今泗县)人,祖籍浙江萧山,字芸楣。同治进士。1891年(光绪十七年)任广西按察使。1894年中日甲午战争起,受命留驻天津办理东征粮台。11月,在天津小站练兵,编成十营,号定武军。1895年上疏,主张兴办实业、整训军队。旋充芦津铁路督办,授顺天府尹,迁总理各国事务衙门大臣。1900年任关内外铁路会办,后历任刑部、礼部、邮传部侍郎。