Scenáre použitia pre Aspose.Cells FOSS pre .NET
Aspose.Cells FOSS pre .NET je čistá spravovaná .NET knižnica, ktorá číta a zapisuje súbory XLSX bez potreby Microsoft Office alebo akýchkoľvek externých závislostí. Nasledujúce prípady použitia ilustrujú, kde knižnica zapadá do reálnych .NET aplikácií.
Generovanie správ
Programovo generujte XLSX reporty na serverovej strane alebo v dávkových aplikáciách. Použite Workbook, Worksheet a Cell.PutValue() na zápis štruktúrovaných údajov, potom zavolajte Workbook.Save() na vytvorenie súboru.
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");Tento vzor sa škáluje na ľubovoľný počet riadkov a môže byť napájaný údajmi z databázy alebo odpovede API.
Spracovanie nahraných tabuľkových hárkov
Čítajte a overujte súbory XLSX odoslané používateľmi prostredníctvom webového formulára alebo koncového bodu API. Konštruktor Workbook prijíma Stream, takže nie je potrebné zapisovať dočasný súbor na 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 });
}Použite LoadDiagnostics.HasRepairs na detekciu súborov, ktoré vyžadovali štrukturálnu opravu, a zobrazte tieto informácie používateľom.
Extrahovanie dátového potrubia
Extrahujte údaje buniek z exportov XLSX vytvorených tretími stranami a vložte hodnoty do databázy alebo následnej služby. Čítajte hodnoty buniek pomocou Cell.StringValue a Cell.Value pomocou súradníc riadku a stĺpca.
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");Použitie overovania údajov pred uložením
Pridajte rozbaľovacie alebo rozsahové validačné pravidlá pred odovzdaním XLSX šablóny koncovým používateľom, aby vyplňovali len prijateľné hodnoty.
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");Štylizácia výstupu pre čitateľnosť
Použite štýly buniek — písma, farby výplne, formáty čísel, okraje — na vytvorenie vylepšeného výstupu. Vytvorte inštanciu Style priamo, nakonfigurujte jej vlastnosti a použite ju s 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");