Användningsfall för Aspose.Cells FOSS för .NET

Användningsfall för Aspose.Cells FOSS för .NET

Aspose.Cells FOSS for .NET är ett rent hanterat .NET‑bibliotek som läser och skriver XLSX‑filer utan att kräva Microsoft Office eller några externa beroenden. Följande användningsfall illustrerar var biblioteket passar in i verkliga .NET‑applikationer.


Rapportgenerering

Generera XLSX‑rapporter programatiskt i server‑sidiga eller batch‑applikationer. Använd Workbook, Worksheet och Cell.PutValue() för att skriva strukturerad data, och anropa sedan Workbook.Save() för att skapa filen.

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");

Detta mönster kan skalas till valfritt antal rader och kan drivas av data från en databas eller API‑svar.


Bearbetar uppladdade kalkylblad

Läs och validera XLSX-filer som skickas in av användare via ett webbformulär eller API‑slutpunkt. Workbook‑konstruktorn accepterar en Stream, så ingen temporär fil behöver skrivas till disk.

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 });
}

Använd LoadDiagnostics.HasRepairs för att upptäcka filer som krävde strukturell reparation och visa den informationen för användarna.


Data Pipeline Extraktion

Extrahera celldata från XLSX‑exporter som produceras av tredjepartssystem och mata in värden i en databas eller en efterföljande tjänst. Läs cellvärden via Cell.StringValue och Cell.Value med rad‑ och kolumnkoordinater.

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");

Tillämpar datavalidering innan sparning

Lägg till rullgardins- eller intervallvalideringsregler innan du levererar en XLSX-mall till slutanvändare, så att de endast fyller i godkända värden.

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");

Formatering av utdata för läsbarhet

Applicera cellstilar — teckensnitt, fyllningsfärger, talformat, kanter — för att producera ett polerat resultat. Skapa en Style‑instans direkt, konfigurera dess egenskaper och tillämpa den med 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");

Se även

 Svenska