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

  • 相关阅读:
    Natas29 Writeup(Perl命令注入、00截断、绕过过滤)
    Natas27 Writeup(mysql溢出截断漏洞)
    Natas26 Writeup(PHP反序列化漏洞)
    Natas25 Writeup(目录遍历、头部注入)
    Natas24 Writeup(strcmp绕过漏洞)
    yum提示Another app is currently holding the yum lock; waiting for it to exit
    linux网站
    fastdfs_5.05下载
    sqlog连接虚拟机mysql服务
    java知识博客网站(一些配置和学习的记录)
  • 原文地址:https://www.cnblogs.com/zcm123/p/6120606.html
Copyright © 2020-2023  润新知