【问题标题】:How to read merged cell from word document如何从word文档中读取合并单元格
【发布时间】:2014-06-24 13:23:58
【问题描述】:

读取合并单元格时出现以下异常。

“无法访问此集合中的各个行,因为表格有垂直合并的单元格。”

我的代码是,

foreach (Row aRow in doc.Tables[i].Rows)
{
   foreach (Cell aCell in aRow.Cells)
   {
       MessageBox.Show(aCell.Range.Text);
   }
} 

// 我的表格格式是..

| R1C1 |R1C2|______|

| R2C1 |R2C2| R*C3 ..|

| R3C1 |R3C2|______|

【问题讨论】:

    标签: c# .net ms-word office-interop


    【解决方案1】:

    您可以尝试以下方法:

    Table table = Globals.ThisDocument.Tables[1];
    Range range = table.Range;
    for (int i = 1; i <= range.Cells.Count; i++)
    {
        if(range.Cells[i].RowIndex == table.Rows.Count)
        {
            range.Cells[i].Range.Text = range.Cells[i].RowIndex + ":" + range.Cells[i].ColumnIndex;
            MessageBox.Show(range.Cells[i].Range.Text);
        }
    }
    

    【讨论】:

    • 谢谢兄弟,这对我很有帮助。任何想使用此代码的人只需删除以下行“range.Cells[i].Range.Text = range.Cells[i].RowIndex + ":" + range.Cells[i].ColumnIndex;"在上面的代码中...
    • 干杯伙伴,很高兴它有帮助。
    • 关于合并单元格的另一个查询...:) 如何查找表格中的段落数(已合并单元格)?如何获取word文档中的当前段落号。
    【解决方案2】:

    Table.Range.Cells 可以枚举:

    foreach (Cell cell in doc.Tables[i].Range.Cells)
    {
        Debug.Print(cell.Range.Text);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 2015-09-01
      • 1970-01-01
      • 2021-10-28
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      相关资源
      最近更新 更多