桦山涧

桦山涧
Asp.net ---->知识改变命运!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何将数据导入到Word?[转]

Posted on 2007-11-07 19:16  桦林  阅读(1955)  评论(0编辑  收藏  举报
如题!
Reader_1 »
http://dotnet.aspx.cc/ShowDetail.aspx?id=6AFBF00B-459D-4642-AD14-8A4765FFAFCC
Reader_2 »
 
  要操作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;    
      }    
    }    
  }  
   
     
   
   
 
Reader_3 »
将控件中的数据输出保存到本地excel或word中,同时保存图片到本地(c#)  
  http://dev.csdn.net/develop/article/37/37198.shtm
Reader_4 »
有没有VB的啊?
Reader_5 »
C#   转   VB.NET  
   
  http://www.developerfusion.com/utilities/convertcsharptovb.aspx
Reader_6 »
必须调用word的COM组件
Reader_7 »
如果要写程序导的话  
   
  Dim   Fs   As   Scripting.FileSystemObject           \'必须先引用Microsoft   scripting   runtime  
  Dim   File   As   Scripting.TextStreamClass                               \'定义文件类型  
  SaveFileDialog1.Filter   =   "文本文件(*.txt)|*.txt"         \'定义可选的文件类型,你可以定义成word  
  SaveFileDialog1.ShowDialog()                                                 \'定位文件路径  
  Fs   =   CreateObject("Scripting.FileSystemObject")           \'创建并返回一个对像  
  File   =   Fs.CreateTextFile(SaveFileDialog1.FileName)  
  File.Write   "你要导的数据"