当前位置:编程学习 > C#/ASP.NET >>

C# word报表模板添加多个表格的嵌套问题

要求:生成一个N行2列的大表格,里面每个格子里面放一个小表格。
代码如下:
// 找到书签位置
                wrdRng = WordDoc.Bookmarks.get_Item(ref markNm_target).Range;
                // 首先定义一个外围表格(2行2列)
                Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(wrdRng, 2, 2, ref oMissing, ref oMissing);
                newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                // 设置表格每个格子宽度高度都为200
                newTable.Columns[1].Width = 200f;
                newTable.Columns[2].Width = 200f;
                newTable.Rows[1].Height = 200f;
                newTable.Rows[2].Height = 200f;

                // 在第一行第一列格子插入一个表格
                wrdRng = newTable.Cell(1, 1).Range;                
                InsertTable(wrdRng);
                // 在第一行第二列格子插入一个表格
                wrdRng = newTable.Cell(1, 2).Range;                
                InsertTable(wrdRng);
                // 在第二行第一列格子插入一个表格
                wrdRng = newTable.Cell(2, 1).Range;                
                InsertTable(wrdRng);

但是生成的word文件如图:
  --------------------编程问答-------------------- --------------------编程问答-------------------- 正确的格式应该是这样的:
--------------------编程问答-------------------- 生成表格后,默认的书签会指向表格的左边第一个格子:我修改代码
      // 在第一行第一列格子插入一个表格
                // wrdRng = newTable.Cell(1, 1).Range;  
                // 把这句话注释掉,第一个表格生成正确,但是后面的表格生成不正确,我也试过在后面的            格子添加书签,但是还是不行,请问如何修改代码?             
                InsertTable(wrdRng);
                // 在第一行第二列格子插入一个表格
                wrdRng = newTable.Cell(1, 2).Range;                
                InsertTable(wrdRng);
                // 在第二行第一列格子插入一个表格
                wrdRng = newTable.Cell(2, 1).Range;                
                InsertTable(wrdRng);
--------------------编程问答--------------------   // 在第一行第一列格子插入一个表格
  wrdRng = newTable.Cell(1, 1).Range; 
得到的range是一个范围,不是光标,必须是光标,插入的表格才是正确的,求解? --------------------编程问答-------------------- 我也遇到同样问题 有没有高手指教下 嵌套进去的表格 只能显示最后一行!!! --------------------编程问答-------------------- 怎麼不用excel,哎 --------------------编程问答-------------------- 楼主最后问题解决了吗? --------------------编程问答-------------------- 怎么嵌套的表格?能提供源代码学习下么,我也碰到了这样的问题,解决不了求大神帮忙啊! --------------------编程问答-------------------- 貌似插入内嵌表的时候不能有多行,可以插入后在给插入表添加行:
   Range newrange = table.Cell(1, 1).Range;
   Microsoft.Office.Interop.Word.Table tableinner= doc.Tables.Add(newrange,1,3,ref Unknown,ref Unknown);//添加内嵌表
              
                tableinner.Cell(1, 1).Range.Text = "a";
                tableinner.Cell(1, 2).Range.Text = "b";
                tableinner.Cell(1, 3).Range.Text = "c";
                tableinner.Rows.Add(ref Unknown);
                tableinner.Cell(2, 1).Range.Text = "d";
                tableinner.Cell(2, 2).Range.Text = "e";
                tableinner.Cell(2, 3).Range.Text = "f";
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,