在.net中操作Word

王朝c#·作者佚名  2006-11-24
宽屏版  字体: |||超大  

要操作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;

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有