C# 在word文档中复制表格并粘帖到下一页中
C# 在word文檔中復(fù)制表格并粘帖到下一頁中
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";
//根據(jù)模板生成一個新文檔,相當(dāng)于另存為
oDoc = oWord.Documents.Add(ref fileName, ref oMissing,
ref oMissing, ref oMissing);
//復(fù)制第一個表格
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 = "這是第二個表格";
boolsaveChange=false;
//C#操作Word表格操作
objectmissing=System.Reflection.Missing.Value;
objecttemplate=(object)templateFilePath;
objectfilename=(object)saveFilePath;
objectisVisible=missing;
objectreadOnly=missing;
objectbreakType=Word.WdBreakType.wdSectionBreakNextPage;
objectisSaveChange=(object)saveChange;
Word.Documentdoc=null;
//定義一個Word.Application對象
Word.ApplicationWordApp=newWord.ApplicationClass();
//C#操作Word表格操作之打開文檔
doc=WordApp.Documents.Open(reftemplate,
refmissing,refreadOnly,refmissing,
refmissing,refmissing,refmissing,
refmissing,refmissing,refmissing,
refmissing,refisVisible,refmissing,
refmissing,refmissing,refmissing);
//C#操作Word表格操作之設(shè)置頁眉文本
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;
//頁面設(shè)置,設(shè)置頁面為縱向布局,設(shè)置紙張類型為A4紙
doc.PageSetup.Orientation=Word.WdOrientation.wdOrientLandscape;
doc.PageSetup.PageWidth=WordApp.CentimetersToPoints(29.7F);
doc.PageSetup.PageHeight=WordApp.CentimetersToPoints(21F);
//C#操作Word表格操作之創(chuàng)建表格及設(shè)置表格和單元格屬性
objectautoFitBehavior=Word.WdAutoFitBehavior.wdAutoFitWindow;
doc.Content.Tables.Add(
WordApp.Selection.Range,totalCount+1,
totalField-keyCount_1,refmissing,
refautoFitBehavior);
//C#操作Word表格操作之合并單元隔
doc.Content.Tables[1].Cell(i+1,j).Select();
objectmoveUnit=Word.WdUnits.wdLine;
objectmoveCount=1;
objectmoveExtend=Word.WdMovementType.wdExtend;
WordApp.Selection.MoveUp(refmoveUnit,
refmoveCount,refmoveExtend);
WordApp.Selection.Cells.Merge();
WordApp.Selection.Cells.VerticalAlignment=
Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
doc.Content.Tables[1].Cell(i+1,1).Range.Text=“單元格內(nèi)容填充”
//添加表格行
doc.Content.Tables[0].Rows.Add(refbeforeRow);
//C#操作Word表格操作之添加表格列
doc.Content.Tables[0].Columns.Add(refbeforeColumn);
//文本居中
WordApp.Selection.ParagraphFormat.Alignment=
Word.WdParagraphAlignment.wdAlignParagraphCenter;
WordApp.Selection.Cells.VerticalAlignment=
Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
//C#操作Word表格操作之選中單元格文字垂直居中
oDoc.Tables.Add(tableLocation,3,4,refoMissing,refoMissing);
Word.TablenewTable=oDoc.Tables[1];
objectbeforeRow=newTable.Rows[1];
newTable.Rows.Add(refbeforeRow);
Word.Cellcell=newTable.Cell(1,1);
cell.Merge(newTable.Cell(1,2));
總結(jié)
以上是生活随笔為你收集整理的C# 在word文档中复制表格并粘帖到下一页中的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 世界先进今年资本开支同比下降近 5 成,
- 下一篇: 《CF》AK12天启与AK47火麒麟属性