c #excel范围合并功能是组合相邻的行

时间:2016-02-16 21:17:15

标签: c# excel merge range

感谢您抽出宝贵时间尝试并提供帮助。我试图独立地合并两个范围,如下所示:(如同仅合并每行的列,而不是将两个行合并在一起)

MyWorksheet.Range[MyWorksheet.Cells[2, 1], MyWorksheet.Cells[2, 15]].Merge();
MyWorksheet.Range[MyWorksheet.Cells[1, 1], MyWorksheet.Cells[1, 15]].Merge(true);

然而,当我这样做时,由于某种原因它将两个范围合并在一起。

但是,当我使用:

MyWorksheet.Range[MyWorksheet.Cells[3, 1], MyWorksheet.Cells[3, 15]].Merge();
MyWorksheet.Range[MyWorksheet.Cells[1, 1], MyWorksheet.Cells[1, 15]].Merge(true);

它并没有将两个范围合并在一起。为什么excel合并两个范围(如果它们相邻),无论我是否明确设置了所需的范围?有没有解决这个问题?我已经在Merge()设置为" true"的情况下使用和不使用溢出参数进行了尝试。

提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题。我不确定为什么,但这行代码是罪魁祸首:

Microsoft.Office.Interop.Excel.Range OperatorInformation = (Microsoft.Office.Interop.Excel.Range)MyWorksheet.get_Range("A1", "B2");
OperatorInformation.Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignLeft;

以某种方式向此范围添加horizo​​natl对齐导致它合并两个行。当我评论它时,一切都按预期工作。有趣。