這兩天想寫個小程序,是用C#操作word文檔的。許多人都對微軟本身的解決方案COM組件十分不看好,比如需要本機安裝office等等,總之吐槽很多,直接放棄。
搜到一個國產的npoi庫,據說操作簡單功能強大,下載試用,發現操作excel還是不錯的,但word不好使。而且官方網站文檔不全,更新緩慢。
嘗試文本替換,總是出錯。加了官方群,問了問題,沒人回應。
網上又找了找,發現有個spire的庫不錯,也有免費的dll可以用。(轉個評價:這是一個免費又強大的C# word 組件,它不需要 Word automatio即可運行,並且任何第三方的功能都囊括)
試用了一下,非常簡單圓滿地解決了我的問題。
代碼如下,簡潔易懂:
private void button1_Click(object sender, EventArgs e) { var doc = new Document(); doc.LoadFromFile("d:\\ht.docx"); doc.Replace("[<單位名稱>]", tbDwmc.Text, false, false); doc.Replace("[<開戶行>]", tbKhh.Text, false, false); doc.Replace("[<銀行賬號>]", tbYhzh.Text, false, false); doc.Replace("[<單位地址>]", tbAddress.Text, false, false); doc.Replace("[<單位電話>]", tbTel.Text, false, false); var guid = Guid.NewGuid().ToString(); doc.SaveToFile("s" + guid + ".docx", FileFormat.Docx); doc.Close(); Process.Start("s" + guid + ".docx"); }