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