Felhasználási esetek az Aspose.Cells FOSS .NET-hez
Aspose.Cells FOSS for .NET egy tisztán kezelt .NET könyvtár, amely XLSX fájlokat olvas és ír, anélkül, hogy a Microsoft Office vagy bármilyen külső függőség szükséges lenne. Az alábbi felhasználási esetek bemutatják, hogy a könyvtár hol illeszkedik a valós .NET alkalmazásokba.
Jelentéskészítés
XLSX jelentéseket generáljon programozottan szerveroldali vagy kötegelt alkalmazásokban. Használja a Workbook, Worksheet és Cell.PutValue() elemeket strukturált adatok írásához, majd hívja meg a Workbook.Save() elemet a fájl előállításához.
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");Ez a minta tetszőleges számú sorra skálázható, és adatbázisból vagy API‑válaszból származó adatokkal vezérelhető.
Feltöltött táblázatok feldolgozása
Olvassa be és ellenőrizze a felhasználók által egy webes űrlapon vagy API végponton keresztül beküldött XLSX fájlokat. A Workbook konstruktor egy Stream-t fogad, így nem szükséges ideiglenes fájlt a lemezre írni.
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 });
}Használja a LoadDiagnostics.HasRepairs-t a szerkezeti javítást igénylő fájlok észlelésére, és jelenítse meg ezt az információt a felhasználóknak.
Adatcsővezeték Kinyerés
Vegye ki a cellák adatait a harmadik fél rendszerei által előállított XLSX exportokból, és adja át az értékeket egy adatbázisba vagy lejjebb lévő szolgáltatásba. Olvassa a cellaértékeket a Cell.StringValue és Cell.Value segítségével sor- és oszlopkoordináták alapján.
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");Adatellenőrzés alkalmazása mentés előtt
Adjon hozzá legördülő vagy tartomány érvényesítési szabályokat, mielőtt XLSX sablont kézbesítené a végfelhasználóknak, biztosítva, hogy csak elfogadható értékeket töltsenek ki.
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");Kimenet formázása az olvashatóság érdekében
Alkalmazzon cellastílusokat — betűtípusok, kitöltőszínek, számformátumok, szegélyek — a kifinomult kimenet előállításához. Hozzon létre egy Style példányt közvetlenül, állítsa be a tulajdonságait, és alkalmazza a Cell.SetStyle() segítségével.
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");