我有一个对象列表,我正在尝试为每个对象专门设置三个行,我正在使用“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中合并两个以上的单元格 ?
答案 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中的所有内容都是一个范围。甚至单个细胞也被视为单细胞。这使得使用单个单元格有点奇怪,但它使得应用样式和公式变得更加容易