首页 > 编程 > .NET > 正文

asp.net操作Word实现批量替换

2024-07-10 13:29:36
字体:大 中 小
来源:转载
供稿:网友

这篇文章主要介绍了asp.net操作Word实现批量替换的方法,需要的朋友可以参考下

首先引入Microsoft.Office.Interop.Word组件,该组件在安装完office后在COM中出现。

代码如下

 

 
  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.Diagnostics; 
  4. using System.Linq; 
  5. using System.Text; 
  6. namespace TextReplace 
  7. { 
  8. public class WordOperate : IDisposable 
  9. { 
  10. private Microsoft.Office.Interop.Word._Application _app; 
  11. private Microsoft.Office.Interop.Word._Document _doc; 
  12. object _nullobj = System.Reflection.Missing.Value; 
  13. /// <summary> 
  14. /// 关闭Word进程 
  15. /// </summary> 
  16. public void KillWinword() 
  17. { 
  18. var p = Process.GetProcessesByName("WINWORD"); 
  19. if (p.Any()) p[0].Kill(); 
  20. } 
  21. /// <summary> 
  22. /// 打开word文档 
  23. /// </summary> 
  24. /// <param name="filePath"></param> 
  25. public void Open(string filePath) 
  26. { 
  27. _app = new Microsoft.Office.Interop.Word.ApplicationClass(); 
  28. object file = filePath; 
  29. _doc = _app.Documents.Open( 
  30. ref file, ref _nullobj, ref _nullobj, 
  31. ref _nullobj, ref _nullobj, ref _nullobj, 
  32. ref _nullobj, ref _nullobj, ref _nullobj, 
  33. ref _nullobj, ref _nullobj, ref _nullobj, 
  34. ref _nullobj, ref _nullobj, ref _nullobj, ref _nullobj); 
  35. } 
  36.  
  37. /// <summary> 
  38. /// 替换word中的文字 
  39. /// </summary> 
  40. /// <param name="strOld">查找的文字</param> 
  41. /// <param name="strNew">替换的文字</param> 
  42. public void Replace(string strOld, string strNew) 
  43. { 
  44. _app.Selection.Find.ClearFormatting(); 
  45. _app.Selection.Find.Replacement.ClearFormatting(); 
  46. _app.Selection.Find.Text = strOld; 
  47. _app.Selection.Find.Replacement.Text = strNew; 
  48. object objReplace = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll; 
  49. _app.Selection.Find.Execute(ref _nullobj, ref _nullobj, ref _nullobj, 
  50. ref _nullobj, ref _nullobj, ref _nullobj, 
  51. ref _nullobj, ref _nullobj, ref _nullobj, 
  52. ref _nullobj, ref objReplace, ref _nullobj, 
  53. ref _nullobj, ref _nullobj, ref _nullobj); 
  54. } 
  55. /// <summary> 
  56. /// 保存 
  57. /// </summary> 
  58. public void Save() 
  59. { 
  60. _doc.Save(); 
  61. } 
  62. /// <summary> 
  63. /// 退出 
  64. /// </summary> 
  65. public void Dispose() 
  66. { 
  67. _doc.Close(ref _nullobj, ref _nullobj, ref _nullobj); 
  68. _app.Quit(ref _nullobj, ref _nullobj, ref _nullobj); 
  69. } 
  70. } 
  71. } 

以上就是关于asp.net如何操作Word实现批量替换的全部代码,希望对大家的学习有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表