如何在Excel中合并单元格?

我有一个对象的列表,我想为每个对象专用三行,我用这个例程使用“Office打开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 } 

然而它popup一个错误,说不能合并已经合并的单元格

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

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

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

或者你可以合并一个3×2块

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

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