如何在Excel中合并单元格?

时间:2016-06-20 16:01:23

标签: c# excel

我有一个对象列表,我正在尝试为每个对象专门设置三个行,我正在使用“Office Open Xml库”这个例程:

int row = 1, col = 1; 
for (int i = 0; i < MyList.Count * 3; i+=3)
{
    MySheet.Cells[row + i, col, row + i + 1, col].Merge = true; // merge two and get a "result"
    MySheet.Cells[row + i + 1, col, row + i + 2, col].Merge = true; // merge "result" with third row
}

然而,它会弹出一个错误,指出无法合并已合并的单元格

所以问题是如何在Excel中合并两个以上的单元格

1 个答案:

答案 0 :(得分:1)

索引指定一系列单元格,而不仅仅指定两个相邻单元格。要跨三行合并单元格,您可以编写

MySheet.Cells[row + i, col, row + i + 2, col].Merge = true;

或者您可以合并3x2块

MySheet.Cells[row + i, col, row + i + 2, col+1].Merge = true;

Excel中的所有内容都是一个范围。甚至单个细胞也被视为单细胞。这使得使用单个单元格有点奇怪,但它使得应用样式和公式变得更加容易