Aspose.Cells FOSS for .NET 사용 사례

Aspose.Cells FOSS for .NET 사용 사례

Aspose.Cells FOSS for .NET은 Microsoft Office나 외부 종속성을 필요로 하지 않고 XLSX 파일을 읽고 쓸 수 있는 순수 관리형 .NET 라이브러리입니다. 다음 사용 사례는 라이브러리가 실제 .NET 애플리케이션에 어떻게 적용되는지를 보여줍니다.


보고서 생성

서버 측 또는 배치 애플리케이션에서 프로그래밍 방식으로 XLSX 보고서를 생성합니다. Workbook, WorksheetCell.PutValue()을 사용하여 구조화된 데이터를 작성한 다음 Workbook.Save()을 호출하여 파일을 생성합니다.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];
ws.Name = "Monthly Report";

ws.Cells["A1"].PutValue("Product");
ws.Cells["B1"].PutValue("Revenue");

ws.Cells["A2"].PutValue("Widget A");
ws.Cells["B2"].PutValue(12500.00m);

ws.Cells["A3"].PutValue("Widget B");
ws.Cells["B3"].PutValue(8750.00m);

ws.Cells["B4"].Formula = "=SUM(B2:B3)";

wb.Save("monthly-report.xlsx");

이 패턴은 행 수에 관계없이 확장 가능하며 데이터베이스 또는 API 응답의 데이터를 통해 구동될 수 있습니다.


업로드된 스프레드시트 처리 중

웹 양식이나 API 엔드포인트를 통해 사용자가 제출한 XLSX 파일을 읽고 검증합니다. Workbook 생성자는 Stream을(를) 받아들이므로 임시 파일을 디스크에 쓸 필요가 없습니다.

using Aspose.Cells_FOSS;

// IFormFile from ASP.NET Core controller
public async Task<IActionResult> Upload(IFormFile file)
{
    using var stream = file.OpenReadStream();
    var opts = new LoadOptions { TryRepairPackage = true };
    var wb = new Workbook(stream, opts);

    var ws = wb.Worksheets[0];
    var firstRow = ws.Cells["A1"].StringValue;
    // ... validate and process rows

    return Ok(new { sheets = wb.Worksheets.Count, firstCell = firstRow });
}

LoadDiagnostics.HasRepairs을 사용하여 구조적 수리가 필요한 파일을 감지하고 해당 정보를 사용자에게 표시합니다.


데이터 파이프라인 추출

제3자 시스템에서 생성된 XLSX 내보내기 파일에서 셀 데이터를 추출하고 값을 데이터베이스 또는 다운스트림 서비스에 전달합니다. 행 및 열 좌표를 사용하여 Cell.StringValueCell.Value을 통해 셀 값을 읽습니다.

using Aspose.Cells_FOSS;

var wb = new Workbook("export.xlsx");
var ws = wb.Worksheets[0];

var records = new List<(string sku, double qty)>();
for (int row = 1; row <= 100; row++) // iterate known data range
{
    var sku = ws.Cells[row, 0].StringValue;
    if (string.IsNullOrEmpty(sku)) break;
    var qty = (double)ws.Cells[row, 1].Value;
    records.Add((sku, qty));
}

Console.WriteLine($"Extracted {records.Count} records");

저장 전에 데이터 검증 적용

XLSX 템플릿을 최종 사용자에게 제공하기 전에 드롭다운 또는 범위 검증 규칙을 추가하여 허용 가능한 값만 입력하도록 합니다.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Status column: dropdown
var statusVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A2", "A100"))];
statusVal.Type = ValidationType.List;
statusVal.Formula1 = "\"Open,In Progress,Closed\"";
statusVal.InCellDropDown = true;

// Score column: 0–10 decimal range
var scoreVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("B2", "B100"))];
scoreVal.Type = ValidationType.Decimal;
scoreVal.Operator = OperatorType.Between;
scoreVal.Formula1 = "0";
scoreVal.Formula2 = "10";
scoreVal.ShowError = true;

wb.Save("template-with-validation.xlsx");

가독성을 위한 출력 스타일링

셀 스타일 — 글꼴, 채우기 색상, 숫자 형식, 테두리 —을 적용하여 깔끔한 출력을 생성합니다. Style 인스턴스를 직접 생성하고, 속성을 구성한 다음 Cell.SetStyle() 로 적용합니다.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Header style
var headerStyle = new Style();
headerStyle.Font.IsBold = true;
headerStyle.Font.Size = 12;
headerStyle.ForegroundColor = System.Drawing.Color.FromArgb(0x4F, 0x81, 0xBD);
headerStyle.Pattern = FillPattern.Solid;

ws.Cells["A1"].PutValue("Name");
ws.Cells["B1"].PutValue("Score");
ws.Cells["A1"].SetStyle(headerStyle);
ws.Cells["B1"].SetStyle(headerStyle);

// Number format for score column
var numStyle = new Style();
numStyle.Custom = "0.00";
ws.Cells["B2"].SetStyle(numStyle);
ws.Cells["B2"].PutValue(98.5m);

wb.Save("styled-report.xlsx");

또 보기

 한국어