氧气中毒 - Asp.Net

If you don't believe in yourself,Nobody else will!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

用.net操作word

Posted on 2006-03-06 15:52  氧气中毒  阅读(242)  评论(0)    收藏  举报
要操作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 ); 
        }
 
        
Windows Form Designer generated code 
        
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); 
    
            
将数据库中读取得数据写入到word文件中  
    
            
//将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; 
        }
 
    }
 
}