用.net操作word

    技术2022-05-11  106

    要操作Word,我们就需要Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB),通常安装了Office Word后,你就可以在office安装目录的Office10文件夹下面找到这个文件,当我们将这个文件引入到项目后,我们就可以在源码中使用各种操作函数来操作Word。具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将 库文件转化为DLL组件,这样我们只要在源码中创建该组件对象即可达到操作Word的目的!      在CS代码文件中对命名空间的应用,如:using Word;范例如下: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using Word; namespace ExamSecure {  ///   /// ItemToDoc 的摘要说明。  ///   public class ItemToDoc : System.Windows.Forms.Form  {   object strFileName;   Object Nothing;   Word.ApplicationClass myWordApp=new Word.ApplicationClass();   Word.Document myWordDoc;   string strContent="";   private System.ComponentModel.Container components = null;   public ItemToDoc()   {    //    // Windows 窗体设计器支持所必需的    //    InitializeComponent();    //    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码    //   }   [STAThread]   static void Main()    {    System.Windows.Forms.Application.Run(new ItemToDoc());   }   ///    /// 清理所有正在使用的资源。   ///    protected override void Dispose( bool disposing )   {    if( disposing )    {     if(components != null)     {      components.Dispose();     }    }    base.Dispose( disposing );   }   #region Windows Form Designer generated code   ///    /// 设计器支持所需的方法 - 不要使用代码编辑器修改   /// 此方法的内容。   ///    private void InitializeComponent()   {    //     // ItemToDoc    //     this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);    this.ClientSize = new System.Drawing.Size(292, 273);    this.Name = "ItemToDoc";    this.Text = "ItemToDoc";    this.Load += new System.EventHandler(this.ItemToDoc_Load); }   #endregion   private void ItemToDoc_Load(object sender, System.EventArgs e)   {    WriteFile();   }   private void WriteFile()   {       strFileName=System.Windows.Forms.Application.StartupPath+"//试题库【"+GetRandomString()+"】.doc";    Object Nothing=System.Reflection.Missing.Value;    myWordDoc=myWordApp.Documents.Add(ref Nothing,ref Nothing,ref Nothing,ref Nothing);        #region 将数据库中读取得数据写入到word文件中    strContent="试题库/n/n/r";    WriteFile(strContent);        strContent="试题库";    WriteFile(strContent);    #endregion         //将WordDoc文档对象的内容保存为DOC文档    myWordDoc.SaveAs(ref strFileName,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing,ref Nothing);    //关闭WordDoc文档对象    myWordDoc.Close(ref Nothing, ref Nothing, ref Nothing);    //关闭WordApp组件对象    myWordApp.Quit(ref Nothing, ref Nothing, ref Nothing);   }   ///    /// 获取一个随即字符串   ///    ///    private string GetRandomString()   {    DateTime iNow=DateTime.Now;    string strDate=iNow.ToString("yyyyMMddHHmmffff");        Random ran=new Random();    int iRan=Convert.ToInt32(10000*ran.NextDouble());    string strRan=iRan.ToString();    //位数不足则补0       int iRanlen=strRan.Length;    for(int i=0;i<4-iRanlen;i++)    {     strRan="0"+strRan;    }    return strDate+strRan;   } ///    /// 将字符串写入到Word文件中   ///    /// 要写入的字符串   private void WriteFile(string str)   {    myWordDoc.Paragraphs.Last.Range.Text=str;   }  } }

    最新回复(0)