From 4d3453da34faaf7100f1eb3737a8ab7fce04026a Mon Sep 17 00:00:00 2001 From: "gorbenko.pavel" Date: Tue, 13 Oct 2026 10:35:20 +0500 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8B=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BC=D0=B0=D1=80=D1=88=D1=80=D1=83=D1=82=D0=BE=D0=B2?= =?UTF-8?q?:=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=B8=D0=B4=D1=83=D1=82=20=D1=81=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D1=83=20=D0=BF=D0=BE=D0=B4=20=D1=81=D0=BE=D0=B3=D0=BB?= =?UTF-8?q?=D0=B0=D1=81=D1=83=D1=8E=D1=89=D0=B8=D0=BC=D0=B8=20=D0=B1=D0=B5?= =?UTF-8?q?=D0=B7=20=D1=88=D0=B0=D0=BF=D0=BA=D0=B8=20=D0=B8=20=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D0=B9=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5.5 --- .../Reports/RouteExportWorkbook.cs | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/backend/Tnsu.ApprovalRoute.Application/Reports/RouteExportWorkbook.cs b/backend/Tnsu.ApprovalRoute.Application/Reports/RouteExportWorkbook.cs index ed004d3..767bc08 100644 --- a/backend/Tnsu.ApprovalRoute.Application/Reports/RouteExportWorkbook.cs +++ b/backend/Tnsu.ApprovalRoute.Application/Reports/RouteExportWorkbook.cs @@ -71,6 +71,8 @@ public static class RouteExportWorkbook var rowIndex = 0; foreach (var section in sheetData.Sections) { + if (rowIndex > 0) rowIndex++; // пустая строка только между маршрутами + if (!string.IsNullOrWhiteSpace(section.Title)) { var titleRow = sheet.CreateRow(rowIndex); @@ -81,6 +83,9 @@ public static class RouteExportWorkbook rowIndex++; } + // Шапка колонок — один раз на маршрут: исполнители идут сразу под + // согласующими, их отделяет только строка-подпись. + var firstGroup = true; foreach (var group in section.Groups) { var captionRow = sheet.CreateRow(rowIndex); @@ -90,14 +95,19 @@ public static class RouteExportWorkbook sheet.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 0, Columns.Length - 1)); rowIndex++; - var header = sheet.CreateRow(rowIndex++); - for (var i = 0; i < Columns.Length; i++) + if (firstGroup) { - var cell = header.CreateCell(i); - cell.SetCellValue(Columns[i].Title); - cell.CellStyle = headerStyle; + var header = sheet.CreateRow(rowIndex++); + for (var i = 0; i < Columns.Length; i++) + { + var cell = header.CreateCell(i); + cell.SetCellValue(Columns[i].Title); + cell.CellStyle = headerStyle; + } } + firstGroup = false; + foreach (var row in group.Rows) { var excelRow = sheet.CreateRow(rowIndex++); @@ -110,8 +120,6 @@ public static class RouteExportWorkbook WriteText(excelRow, 4, row.Condition, cellStyle); WriteText(excelRow, 5, row.Comment, cellStyle); } - - rowIndex++; // пустая строка между таблицами } } }