第一种情况下,需要注意:在WORD模板中要操作的表格中,不能有纵向合并的单元格,不然程序无法获取到当前要操作对象导致程序报错.单元格的合并,我们可以在程序中控制。
第二种情况下就需要我们通过程序去直接添加表格了。
生成表格的代码具体如下:
1.获取文档中已存在的表格:
Microsoft.Office.Interop.Word.Table characterTable = doc.Tables[2];//在document对象的集合操作中,起始点是从1开始,并不是从0开始的,此处需要注意。
2.在文档中直接生成表格,首先要获取插入表格的位置,然后添加表格对象:
object oEndOfDoc = "endofdoc";//WORD中预定义的书签,还有很多,此处就不一一列举。
object oMissing = System.Reflection.Missing.Value;
Range wrdRng = doc.Bookmarks.get_Item(ref oEndOfDoc).Range;//获取当前文档的末尾位置。
wrdRng.InsertAfter(" ");//插入一行,此处不能用 wrdRng.InsertAfter(""),如果用这个,就不能换行,我也不知道为什么。
复制代码
object oCollapseEnd = Microsoft.Office.Interop.Word.WdCollapseDirection.wdCollapseEnd;
object oPageBreak = Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;//分页符
wrdRng.Collapse(ref oCollapseEnd);
wrdRng.InsertBreak(ref oPageBreak);//插入了一页
wrdRng.Collapse(ref oCollapseEnd);
wrdRng.InsertAfter("图片信息");
wrdRng.Font.Size = 20;//指定操作对象的文字大小
wrdRng.Font.Bold = 1;//指定操作对象的粗体:1为粗体,0为正常
wrdRng.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;//指定操作区域的文字布局:居中对齐
//上述代码的意思是:找到当前的末尾位置,然后插入一个分页符,相当于跳到了一个新页,在这个新页的顶端写入文字“图片信息”,并指定文字大小为20,粗体居中显示。
wrdRng = doc.Bookmarks.get_Item(ref oEndOfDoc).Range;
wrdRng.InsertAfter(" ");
wrdRng = doc.Bookmarks.get_Item(ref oEndOfDoc).Range;
wrdRng.InsertParagraphAfter();//插入一个段落,在此段落上插入一个2行一列的表格。
Microsoft.Office.Interop.Word.Table newTable = doc.Tables.Add(wrdRng, 2, 1, ref oMissing, ref oMissing);
我们还可以对表格进行格式设置,此处我们就不在一一列举。
3.下面我们分析一下对表格的单元格的操作:合并,拆分。这个就需要我们根据实际表格来进行操作:
//获取具体的某个单元格(1,1),获取第一行第一列的单元格
Cell cell = doc.Tables[1].Cell(1,1);
cell.Range.Text="Text";//指定当前单元格的内容为Text










