C# 使用Epplus導出Excel [1]:導出固定列數據
C# 使用Epplus導出Excel [2]:導出動態列數據
C# 使用Epplus導出Excel [3]:合並列連續相同數據
導出的Excel數據,合並指令行並水平垂直居中
原始數據
合並后的數據
代碼如下
/// <summary> /// 合並行 /// </summary> /// <param name="sheet"></param> /// <param name="startRowIndex"></param> /// <param name="mergeRowIndexs">合並行的行數,起始位置,終止位置</param> public static void MergeRowCells(ExcelWorksheet sheet, int startRowIndex, int[,] mergeRowIndexs) { for (int i = 0; i < mergeRowIndexs.Rank; i++) { sheet.Cells[mergeRowIndexs[i, 0] + startRowIndex, mergeRowIndexs[i, 1], mergeRowIndexs[i, 0] + startRowIndex, mergeRowIndexs[i, 2]].Merge = true; sheet.Cells[mergeRowIndexs[i, 0] + startRowIndex, mergeRowIndexs[i, 1], mergeRowIndexs[i, 0] + startRowIndex, mergeRowIndexs[i, 2]].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; sheet.Cells[mergeRowIndexs[i, 0] + startRowIndex, mergeRowIndexs[i, 1], mergeRowIndexs[i, 0] + startRowIndex, mergeRowIndexs[i, 2]].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center; } }
//行 int[,] mergeRowIndexs= { { 6, 2, 3 }, { 7, 2, 3 } }; EpplusHelper.MergeRowCells(worksheet, 2,mergeRowIndexs); package.Save();