Cazuri de utilizare pentru Aspose.Cells FOSS pentru .NET

Cazuri de utilizare pentru Aspose.Cells FOSS pentru .NET

Aspose.Cells FOSS for .NET este o bibliotecă .NET pur gestionată care citește și scrie fișiere XLSX fără a necesita Microsoft Office sau alte dependențe externe. Următoarele cazuri de utilizare ilustrează unde se potrivește biblioteca în aplicații .NET din lumea reală.


Generare rapoarte

Generează rapoarte XLSX programatic în aplicații server-side sau batch. Folosește Workbook, Worksheet și Cell.PutValue() pentru a scrie date structurate, apoi apelează Workbook.Save() pentru a produce fișierul.

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

Acest model se scalează la orice număr de rânduri și poate fi alimentat cu date dintr-o bază de date sau răspuns API.


Procesarea foilor de calcul încărcate

Citește și validează fișiere XLSX trimise de utilizatori printr-un formular web sau un punct final API. Constructorul Workbook acceptă un Stream, astfel încât nu este necesar să se scrie niciun fișier temporar pe disc.

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

Utilizați LoadDiagnostics.HasRepairs pentru a detecta fișierele care necesită reparare structurală și pentru a afișa acea informație utilizatorilor.


Extracție a pipeline-ului de date

Extrage datele celulelor din exporturile XLSX produse de sisteme terțe și alimentează valorile într-o bază de date sau un serviciu în aval. Citește valorile celulelor prin Cell.StringValue și Cell.Value utilizând coordonate de rând și coloană.

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

Aplicarea validării datelor înainte de salvare

Adăugați reguli de validare prin listă derulantă sau interval înainte de a livra un șablon XLSX utilizatorilor finali, asigurându-i că introduc doar valori acceptabile.

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

Stilizarea ieșirii pentru lizibilitate

Aplicați stiluri de celule — fonturi, culori de umplere, formate de număr, borduri — pentru a produce un rezultat finisat. Creați o instanță Style direct, configurați proprietățile sale și aplicați-o cu 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");

Vezi și

 Română