C#读取Word表格中的数据 (转)

1.关于 Interop.Word类库

今天练习C#操作Word文档,首先要引入类库(Microsoft.Office.Interop.Word ),可是在我机器上无法引用,于是找其原因是没有安装“Office 2003 主 Interop 程序集”.

安装方法(网上介绍的):运行office2003安装程序,选择“添加或删除组件”,->勾选“高级自定义应用程序”,->展开特定于应用程序的节点。要获取 Microsoft Office word 2003 PIA,请展开 Microsoft Office word 节点并选择 .NET Programmability Support(.net可编程支持)。单击 .NET Programmability Support (.net可编程支持)旁边的下拉箭头以选择更新选项,并选取 Run from My Computer(从本机运行)。然后点击“更新”按钮。完成!

可是问题来了:我下载的这个office2003(盗版)安装程序打开后没有.NET Programmability Support (.net可编程支持)这个选项

不能就此罢手,添加引用->COM->找到microosft word 11.0 object Library,选择,确定.

 

引用:

 

using Word;

 

运行程序通过,搞定.

 

 

【摘自】  http://tmsoft.lsxy.com/trackback.php?tbID=334&extra=2aa67d  周老师科研站

 oMissing);

            
object start = 0;
            
object end = 0;
            Word.Range tableLocation 
= oDoc.Range(ref start, ref end);
            oDoc.Tables.Add(tableLocation, 
34ref oMissing, ref oMissing);

            Word.Table newTable 
= oDoc.Tables[1];
            
object beforeRow = newTable.Rows[1];
            newTable.Rows.Add(
ref beforeRow);

            Word.Cell cell 
= newTable.Cell(11);
            cell.Merge(newTable.Cell(
12));

            
object Rownum = 2;
            
object Columnnum = 2;
            cell.Split(
ref Rownum, ref  Columnnum);

前提:
导入COM库:Microsoft word 11.0 Object Library.
引用里面就增加了:



创建新Word
             object  oMissing  =  System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
=   new  Word.Application();
            oWord.Visible 
=   true ;
            oDoc 
=  oWord.Documents.Add( ref  oMissing,  ref  oMissing,
                
ref  oMissing,  ref  oMissing);

打开文档:
             object  oMissing  =  System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
=   new  Word.Application();
            oWord.Visible 
=   true ;
            
object  fileName  =   @" E:CCCXCXXTestDoc.doc " ;
            oDoc 
=  oWord.Documents.Open( ref  fileName,
            
ref  oMissing,  ref  oMissing,  ref  oMissing,  ref  oMissing,  ref  oMissing,
            
ref  oMissing,  ref  oMissing,  ref  oMissing,  ref  oMissing,  ref  oMissing,
            
ref  oMissing,  ref  oMissing,  ref  oMissing,  ref  oMissing,  ref  oMissing);

导入模板
             object  oMissing  =  System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
=   new  Word.Application();
            oWord.Visible 
=   true ;
            
object  fileName  =   @" E:XXXCCXTest.doc " ;
            oDoc 
=  oWord.Documents.Add( ref  fileName,  ref  oMissing,
                            
ref  oMissing,  ref  oMissing);


.添加新表
             object  oMissing  =  System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
=   new  Word.Application();
            oWord.Visible 
=   true ;
            oDoc 
=  oWord.Documents.Add( ref  oMissing,  ref  oMissing,
                
ref  oMissing,  ref  oMissing);

            
object  start  =   0 ;
            
object  end  =   0 ;
            Word.Range tableLocation 
=  oDoc.Range( ref  start,  ref  end);
            oDoc.Tables.Add(tableLocation, 
3 4 ref  oMissing,  ref  oMissing);

.表插入行
             object  oMissing  =  System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
=   new  Word.Application();
            oWord.Visible 
=   true ;
            oDoc 
=  oWord.Documents.Add( ref  oMissing,  ref  oMissing,
                
ref  oMissing,  ref  oMissing);

            
object  start  =   0 ;
            
object  end  =   0 ;
            Word.Range tableLocation 
=  oDoc.Range( ref  start,  ref  end);
            oDoc.Tables.Add(tableLocation, 
3 4 ref  oMissing,  ref  oMissing);

            Word.Table newTable 
=  oDoc.Tables[ 1 ];
            
object  beforeRow  =  newTable.Rows[ 1 ];
            newTable.Rows.Add(
ref  beforeRow);

.单元格合并
             object  oMissing  =  System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
=   new  Word.Application();
            oWord.Visible 
=   true ;
            oDoc 
=  oWord.Documents.Add( ref  oMissing,  ref  oMissing,
                
ref  oMissing,  ref  oMissing);

            
object  start  =   0 ;
            
object  end  =   0 ;
            Word.Range tableLocation 
=  oDoc.Range( ref  start,  ref  end);
            oDoc.Tables.Add(tableLocation, 
3 4 ref  oMissing,  ref  oMissing);

            Word.Table newTable 
=  oDoc.Tables[ 1 ];
            
object  beforeRow  =  newTable.Rows[ 1 ];
            newTable.Rows.Add(
ref  beforeRow);

            Word.Cell cell 
=  newTable.Cell( 1 1 );
            cell.Merge(newTable.Cell(
1 2 ));

.单元格分离
             object  oMissing  =  System.Reflection.Missing.Value;
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
=   new  Word.Application();
            oWord.Visible 
=   true ;
            oDoc 
=  oWord.Documents.Add(ref

通过段落控制插入
             object  oMissing  =  System.Reflection.Missing.Value;
            
object  oEndOfDoc  =   " /endofdoc " /**/ /* endofdoc is a predefined bookmark */

            
// Start Word and create a new document.
            Word._Application oWord;
            Word._Document oDoc;
            oWord 
=   new  Word.Application();
            oWord.Visible 
=   true ;
            oDoc 
=  oWord.Documents.Add( ref  oMissing,  ref  oMissing,
                
ref  oMissing,  ref  oMissing);

            
// Insert a paragraph at the beginning of the document.
            Word.Paragraph oPara1;
            oPara1 
=  oDoc.Content.Paragraphs.Add( ref  oMissing);
            oPara1.Range.Text 
=   " Heading 1 " ;
            oPara1.Range.Font.Bold 
=   1 ;
            oPara1.Format.SpaceAfter 
=   24 ;     // 24 pt spacing after paragraph.
            oPara1.Range.InsertParagraphAfter();

                【reprinted from http://www.cnblogs.com/willwayer/category/180186.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值