在ASP.NET中操作Word文档

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


 }
}

转载于:https://www.cnblogs.com/xinhua/archive/2005/07/11/190480.html

Free Spire.Doc 是一款免费的专门对 Word 文档进行操作的 .NET类库。适用于商业或个人用途。这款控件的主要功能在于帮助开发人员轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。作为一款独立的 Word .NET 控件,能执行多种 Microsoft Word 文档处理任务的 .NET API。支持 Word97-2003,Word2007,Word2010 以及 Word2013。能在 Word 97/2003/2007/2010/2013 和 XML、RTF、TXT、XPS、EPUB、EMF、HTML 等格式文件之间进行双向转换,还能将 Word 文件高质量地转换为 PDF 文件格式。 主要功能如下: 1. 高质量的文档转换。Free Spire.Doc for .NET 能帮助用户将 Word 文件保存在流,也可以保存为 Web response,还支持将 Word 文件与 XML、RTF、EMF、 TXT、XPS、EPUB、HTML 等格式文件之间的双向转换。同时,它还支持将 Word 文件转换为 PDF 文件,HTML 文件转换为图像文件。 2. 多样化的 Word 文档功能。支持动态创建一个全新的 Word 文档,并支持几乎所有的 Word 文档元素,它们主要包括页面、节、页眉、页脚、脚注、尾注、段落、项目符号和编号、表格、 文本、域、超链接、书签、注释、图片、样式、背景设置、打印功能、文档设置和文档保护。同时,也支持形状、文本框、图片、OLE 对象和内容控件。 3. 对已有的 Word 文档进行操作处理。支持搜索和替换、设置对齐方式、分页、分节、填充域、文档合并、复制、打印以及邮件合并等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值