也说C#实现对Word文件读写

隆化青年30

隆化青年30

2016-01-29 13:36

也说C#实现对Word文件读写,也说C#实现对Word文件读写
  手头上的一个项目报表相对比较简单,所以报表打印采用VBA引擎,通过定制Word模版,然后根据模版需要填充数据,然后OK,打印即可。

实现方法:首先需要引用VBA组建,我用的是Office2003 Professional,Dll版本号为Microsoft Word11.0,

另外当然还需要引用Interop.Word.Dll.

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

代码如下:

#region 打开Word文档,并且返回对象wDoc,wDoc
  ///


  /// 打开Word文档,并且返回对象wDoc,wDoc
  ///

  /// 完整Word文件路径+名称  
  /// 返回的Word.Document wDoc对象
  /// 返回的Word.Application对象
  public static void CreateWordDocument(string FileName,ref Word.Document wDoc,ref  Word.Application WApp)
  {
   if(FileName == "") return;
   Word.Document thisDocument = null;
   Word.FormFields   formFields = null;
   Word.Application thisApplication = new Word.ApplicationClass();
   thisApplication.Visible = true;
   thisApplication.Caption = "";
   thisApplication.Options.CheckSpellingAsYouType = false;
   thisApplication.Options.CheckGrammarAsYouType = false;

   Object filename = FileName;
   Object ConfirmConversions = false;
   Object ReadOnly = true;
   Object AddToRecentFiles = false;

   Object PasswordDocument = System.Type.Missing;
   Object PasswordTemplate = System.Type.Missing;
   Object Revert = System.Type.Missing;
   Object WritePasswordDocument = System.Type.Missing;
   Object WritePasswordTemplate = System.Type.Missing;
   Object Format = System.Type.Missing;
   Object Encoding = System.Type.Missing;
   Object Visible = System.Type.Missing;
   Object OpenAndRepair = System.Type.Missing;
   Object DocumentDirection =  System.Type.Missing;
   Object NoEncodingDialog = System.Type.Missing;
   Object XMLTransform = System.Type.Missing;

   try
   {
    Word.Document wordDoc =
     thisApplication.Documents.Open(ref filename, ref ConfirmConversions,
     ref ReadOnly, ref AddToRecentFiles, ref PasswordDocument, ref PasswordTemplate,
     ref Revert,ref WritePasswordDocument, ref WritePasswordTemplate, ref Format,
     ref Encoding, ref Visible, ref OpenAndRepair, ref DocumentDirection,
     ref NoEncodingDialog, ref XMLTransform );
    
    thisDocument = wordDoc;
    wDoc = wordDoc;
    WApp = thisApplication;
    formFields = wordDoc.FormFields;
   }
   catch(Exception ex)
   {
    MessageBox.Show(ex.Message);
   }
   
  }
  #endregion

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

调用上面静态方法,打开目标文件并且把DataGrid中数据填充到对应Word标签中去

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

#region Word填充数据(For Example)
  ///


  /// Word填充数据
  ///

  private void WordLoadData()
  {
   Word.Document wDoc=null;
   Word.Application wApp=null;
   sysFun.CreateWordDocument("E:\监测报告(new).dot",ref wDoc,ref wApp);
展开更多 50%)
分享

猜你喜欢

也说C#实现对Word文件读写

电脑网络
也说C#实现对Word文件读写

用 C# 编程实现读写Binary

编程语言 网络编程
用 C# 编程实现读写Binary

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

简单的c#文本文件读写

电脑网络
简单的c#文本文件读写

C# WORD操作实现代码

编程语言 网络编程
C# WORD操作实现代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Visual C#实现文件分割合并器

编程语言 网络编程
Visual C#实现文件分割合并器

c#中实现文件拖放打开的方法

Web开发
c#中实现文件拖放打开的方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PHP中用Socket发送电子邮件

PHP中用Socket发送电子邮件

《战场女武神2》开启全同学任务和练技能的方法

《战场女武神2》开启全同学任务和练技能的方法
下拉加载更多内容 ↓