zoukankan      html  css  js  c++  java
  • C# 在word文档中复制表格并粘帖到下一页中

    C# 在word文档中复制表格并粘帖到下一页中

                object oMissing = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word._Application oWord;
                Microsoft.Office.Interop.Word._Document oDoc;
                oWord = new Microsoft.Office.Interop.Word.Application();
                //显示word文档
                oWord.Visible = true;
                //取得word文件模板
                object fileName = System.Windows.Forms.Application.StartupPath + "word.doc";
                //根据模板生成一个新文档,相当于另存为
                oDoc = oWord.Documents.Add(ref fileName, ref oMissing,
                                ref oMissing, ref oMissing);

                //复制第一个表格
                oDoc.Tables[1].Select();
                oWord.Selection.Copy();

                //在这里操作表格中的文本
                oDoc.Tables[1].Cell(1, 1).Range.Text = "这是第一个表格";

                //下一页
                object mymissing = System.Reflection.Missing.Value;
                object myunit = Microsoft.Office.Interop.Word.WdUnits.wdStory;
                oWord.Selection.EndKey(ref myunit, ref mymissing);
                object pBreak = (int)Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;
                oWord.Selection.InsertBreak(ref pBreak);

                //粘贴第一个表格
                oWord.Selection.Paste();

                oDoc.Tables[2].Cell(1, 1).Range.Text = "这是第二个表格"; 

     

    bool saveChange = false;  

     //C#操作Word表格操作

    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();  

    //C#操作Word表格操作之打开文档  

    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);  

     

    //C#操作Word表格操作之设置页眉文本  

     

    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);  

     

    //C#操作Word表格操作之创建表格及设置表格和单元格属性  

     

    object autoFitBehavior = Word.WdAutoFitBehavior.wdAutoFitWindow;  

    doc.Content.Tables.Add(  

    WordApp.Selection.Range, totalCount + 1,   

    totalField - keyCount_1, ref missing,   

    ref autoFitBehavior);  

     

    //C#操作Word表格操作之合并单元隔  

     

    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);  

     

    //C#操作Word表格操作之添加表格列  

     

    doc.Content.Tables[0].Columns.Add(ref beforeColumn);  

     

    //文本居中  

    WordApp.Selection.ParagraphFormat.Alignment =  

    Word.WdParagraphAlignment.wdAlignParagraphCenter;  

    WordApp.Selection.Cells.VerticalAlignment =   

    Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;  

     

    //C#操作Word表格操作之选中单元格文字垂直居中  

     

    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)); 

  • 相关阅读:
    android WebView总结
    Java抓取网页数据(原网页+Javascript返回数据)
    Linux之旅(1): diff, patch和quilt (下)
    浅谈UML的概念和模型之UML九种图
    基于注解的Spring MVC
    Hibernate自增列保存失败的问题
    京东,你玩我?
    MySQL 通配符学习小结
    Java中怎样由枚举常量的ordinal值获得枚举常量对象
    HDU 4588 Count The Carries 计算二进制进位总数
  • 原文地址:https://www.cnblogs.com/zcm123/p/6120606.html
Copyright © 2011-2022 走看看