Aspose.Cells FOSS .NET naudojimo atvejai

Aspose.Cells FOSS .NET naudojimo atvejai

Aspose.Cells FOSS for .NET yra gryna valdomoji .NET biblioteka, kuri skaito ir rašo XLSX failus be Microsoft Office ar bet kokių išorinių priklausomybių. Tolimesni naudojimo atvejai iliustruoja, kur biblioteka tinka realaus pasaulio .NET programoms.


Ataskaitų generavimas

Sukurkite XLSX ataskaitas programiškai serverio pusėje arba paketiniuose programose. Naudokite Workbook, Worksheet ir Cell.PutValue() struktūrizuotiems duomenims rašyti, tada iškvieskite Workbook.Save() failui sukurti.

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

Šis šablonas gali būti išplečiamas iki bet kokio eilučių skaičiaus ir gali būti valdomas duomenimis iš duomenų bazės arba API atsakymo.


Įkeltų skaičiuoklių apdorojimas

Perskaityti ir patikrinti XLSX failus, pateiktus vartotojų per internetinę formą arba API galinį tašką. Workbook konstruktorius priima Stream, todėl nėra būtina rašyti laikinuosius failus į 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 });
}

Naudokite LoadDiagnostics.HasRepairs, kad aptiktumėte failus, kuriems reikėjo struktūrinio remonto, ir pateiktumėte šią informaciją vartotojams.


Duomenų srauto išgavimas

Išskleiskite langelių duomenis iš XLSX eksporto, sukurtų trečiųjų šalių sistemų, ir įkelkite reikšmes į duomenų bazę arba vėlesnę paslaugą. Perskaitykite langelių reikšmes per Cell.StringValue ir Cell.Value naudodami eilutės ir stulpelio koordinates.

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

Duomenų tikrinimo taikymas prieš išsaugojant

Prieš pateikdami XLSX šabloną galutiniams vartotojams, pridėkite išskleidžiamąjį meniu arba intervalo patikrinimo taisykles, kad jie įvestų tik priimtinus duomenis.

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

Išvesties stilius skaitomumui

Taikykite langelių stilius — šriftus, užpildo spalvas, skaičių formatus, kraštines — kad gautumėte tvarkingą išvestį. Sukurkite Style egzempliorių tiesiogiai, sukonfigūruokite jo savybes ir pritaikykite jį naudodami 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");

Žr. taip pat

 Lietuvių