엑셀 리포트에 Sprint 정보 추가.

This commit is contained in:
2025-12-25 09:51:16 +09:00
committed by seungmuk.oh
parent 1f2c6c6d37
commit 1ebec4b44a
3 changed files with 16 additions and 12 deletions

View File

@@ -231,7 +231,8 @@ namespace VTSFetcher.Repositories
Updated = issue.Updated, Updated = issue.Updated,
PreviousStatus = status.Status, PreviousStatus = status.Status,
Changed = status.Changed, Changed = status.Changed,
Duration = status.Duration Duration = status.Duration,
Sprint = issue.Sprint
} }
).ToListAsync(); ).ToListAsync();

View File

@@ -11,6 +11,7 @@ public class IssueWithStatus
public string Manager { get; set; } public string Manager { get; set; }
public DateTimeOffset Due { get; set; } public DateTimeOffset Due { get; set; }
public DateTimeOffset Updated { get; set; } public DateTimeOffset Updated { get; set; }
public string? Sprint { get; set; }
// IssueStatus 정보 // IssueStatus 정보
public string? PreviousStatus { get; set; } public string? PreviousStatus { get; set; }

View File

@@ -16,14 +16,15 @@ public class ExcelExportService
// 헤더 설정 // 헤더 설정
worksheet.Cell(1, 1).Value = "Assignee"; worksheet.Cell(1, 1).Value = "Assignee";
worksheet.Cell(1, 2).Value = "Key"; worksheet.Cell(1, 2).Value = "Sprint";
worksheet.Cell(1, 3).Value = "Summary"; worksheet.Cell(1, 3).Value = "Key";
worksheet.Cell(1, 4).Value = "Status"; worksheet.Cell(1, 4).Value = "Summary";
worksheet.Cell(1, 5).Value = "Duration"; worksheet.Cell(1, 5).Value = "Status";
worksheet.Cell(1, 6).Value = "Changed"; worksheet.Cell(1, 6).Value = "Duration";
worksheet.Cell(1, 7).Value = "Changed";
// 헤더 스타일 // 헤더 스타일
var headerRange = worksheet.Range(1, 1, 1, 6); var headerRange = worksheet.Range(1, 1, 1, 7);
headerRange.Style.Font.Bold = true; headerRange.Style.Font.Bold = true;
headerRange.Style.Fill.BackgroundColor = XLColor.LightGray; headerRange.Style.Fill.BackgroundColor = XLColor.LightGray;
@@ -37,11 +38,12 @@ public class ExcelExportService
int row = i + 2; int row = i + 2;
worksheet.Cell(row, 1).Value = issue.Assignee; worksheet.Cell(row, 1).Value = issue.Assignee;
worksheet.Cell(row, 2).Value = issue.Key; worksheet.Cell(row, 2).Value = issue.Sprint;
worksheet.Cell(row, 3).Value = issue.Summary; worksheet.Cell(row, 3).Value = issue.Key;
worksheet.Cell(row, 4).Value = issue.CurrentStatus; worksheet.Cell(row, 4).Value = issue.Summary;
worksheet.Cell(row, 5).Value = issue.Duration; worksheet.Cell(row, 5).Value = issue.CurrentStatus;
worksheet.Cell(row, 6).Value = issue.Changed?.ToString("yyMMdd HH:mm:ss", CultureInfo.InvariantCulture); worksheet.Cell(row, 6).Value = issue.Duration;
worksheet.Cell(row, 7).Value = issue.Changed?.ToString("yyMMdd HH:mm:ss", CultureInfo.InvariantCulture);
} }
// 열 너비 자동 조정 // 열 너비 자동 조정