欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

.NET操作Word的实现:using Word

创建时间:2011年06月16日 22:55  阅读次数:(5359)
分享到:

.NET操作Word可以用using Word来实现。基本上,vs.net将会自动将 库文件转化为DLL组件,这样我们只要在源码中创建该组件对象即可达到操作Word的目的。

要实现,我们就需要Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB),通常安装了Office Word后,你就可以在office安装目录的Office10文件夹下面找到这个文件,当我们将这个文件引入到项目后,我们就可以在源码中使用各种操作函数来操作Word。具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件。

在CS代码文件中对命名空间的应用,如:using Word;.NET操作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();
}

[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);
}

///
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///
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);

}

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(refNothing, refNothing, refNothing, refNothing);

//将数据库中读取得数据写入到word文件中

strContent = "试题库\n\n\r";
WriteFile(strContent);

strContent = "试题库";
WriteFile(strContent);

//将WordDoc文档对象的内容保存为DOC文档
myWordDoc.SaveAs(refstrFileName, refNothing, refNothing, refNothing, refNothing, refNothing, refNothing, refNothing, refNothing, refNothing, refNothing, refNothing, refNothing, refNothing, refNothing, refNothing);
//关闭WordDoc文档对象
myWordDoc.Close(refNothing, refNothing, refNothing);
//关闭WordApp组件对象
myWordApp.Quit(refNothing, refNothing, refNothing);
}

///
///获取一个随即字符串
///
///
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;
}
}
}

以上就是.NET操作Word的实现代码。

来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 18+40=? 的结果(结果是:58)
结  果: