Выгрузка маршрутов: исполнители идут сразу под согласующими без шапки и пустой строки

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
gorbenko.pavel
2026-10-13 10:35:20 +05:00
parent f68c69163f
commit 4d3453da34
@@ -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,6 +95,8 @@ public static class RouteExportWorkbook
sheet.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 0, Columns.Length - 1));
rowIndex++;
if (firstGroup)
{
var header = sheet.CreateRow(rowIndex++);
for (var i = 0; i < Columns.Length; i++)
{
@@ -97,6 +104,9 @@ public static class RouteExportWorkbook
cell.SetCellValue(Columns[i].Title);
cell.CellStyle = headerStyle;
}
}
firstGroup = false;
foreach (var row in group.Rows)
{
@@ -110,8 +120,6 @@ public static class RouteExportWorkbook
WriteText(excelRow, 4, row.Condition, cellStyle);
WriteText(excelRow, 5, row.Comment, cellStyle);
}
rowIndex++; // пустая строка между таблицами
}
}
}