快速业务通道

在C#中向Word中现有的表格中加行一行,并给每个单元格一个值

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-11

1.       首先,该问题涉及到Office开发。

2.      
引用Office组件,添加References,在弹出的窗口中,选择Com选项卡,然后找到Micorsoft Word 11.0 Object Library组件,点击确定,可以看到References目录下增加了WordMicrosoft.Office.CoreVBIDE三个Assembly


注:我引用时
Word Assembly一直无法正常引用,因为之前用的是中文系统没发现这个问题,现在用的操作系统、Visual studio 2005是英文的,而Office是中文的,可能是这个原因导致的吧。


3.      
添加引用using Microsoft.Office.Core


4.      
几种常见的Word以及表格操作

               bool saveChange = false;
         object missing =
 System.Reflection.Missing.Value;
         object template = (object
)templateFilePath;
         object filename = (object
)saveFilePath;   
          object isVisible =
 missing;
        object readOnly =
 missing;
        object breakType =
 Word.WdBreakType.wdSectionBreakNextPage;
          object isSaveChange = (object
)saveChange;
         Word.Document doc = null
;
           //定义一个Word.Application 对象
           Word.Application WordApp =  new  Word.ApplicationClass();
//打开文档

           doc = WordApp.Documents.Open(
               ref template, ref missing,ref readOnly,ref missing, ref missing, ref
 missing, 
                  ref missing, ref missing, ref missing,ref missing, ref missing, ref
 isVisible, 
                   ref missing, ref missing, ref missing, ref
 missing);

              //设置页眉文本

           WordApp.ActiveWindow.ActivePane.View.SeekView 
                   =
 Word.WdSeekView.wdSeekCurrentPageHeader;
             WordApp.Selection.WholeStory();
              WordApp.Selection.TypeText( this
.m_titleText );
              WordApp.ActiveWindow.ActivePane.View.SeekView 
                =
 Word.WdSeekView.wdSeekMainDocument;

           //页面设置,设置页面为纵向布局,设置纸张类型为A4纸

                doc.PageSetup.Orientation = Word.WdOrientation.wdOrientLandscape;
               doc.PageSetup.PageWidth = WordApp.CentimetersToPoints(29.7F
);
              doc.PageSetup.PageHeight =
 WordApp.CentimetersToPoints(21F);
             //创建表格及设置表格和单元格属性
           object autoFitBehavior = Word.WdAutoFitBehavior.wdAutoFitWindow;
             doc.Content.Tables.Add(
               WordApp.Selection.Range, 
              totalCount + 1

                  totalField -
 keyCount_1, 
                 ref
 missing, 
                 ref
 autoFitBehavior);
               //合并单元隔

              doc.Content.Tables[1].Cell(i+1,j).Select();
                                    object moveUnit =
 Word.WdUnits.wdLine;
                                object moveCount = 1
;
                                 object moveExtend =
 Word.WdMovementType.wdExtend;
                                   WordApp.Selection.MoveUp(ref moveUnit, ref moveCount, ref
 moveExtend);
                                    WordApp.Selection.Cells.Merge();
                                   WordApp.Selection.Cells.VerticalAlignment =
  Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                   doc.Content.Tables[1].Cell(i+1,1).Range.Text =
 “单元格内容填充”
//添加表格行
doc.Content.Tables[0].Rows.Add(ref beforeRow);
//添加表格列

doc.Content.Tables[0].Columns.Add(ref beforeColumn);
//文本居中

  WordApp.Selection.ParagraphFormat.Alignment =
   Word.WdParagraphAlignment.wdAlignParagraphCenter;
   WordApp.Selection.Cells.VerticalAlignment =
  
    Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//选中单元格文字垂直居中

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号