Cas d’utilisation d’Aspose.Cells FOSS pour .NET
Aspose.Cells FOSS for .NET est une bibliothèque .NET purement gérée qui lit et écrit des fichiers XLSX sans nécessiter Microsoft Office ni aucune dépendance externe. Les cas d’utilisation suivants illustrent où la bibliothèque s’intègre aux applications .NET du monde réel.
Génération de rapports
Générez des rapports XLSX de manière programmatique dans des applications côté serveur ou par lots. Utilisez Workbook, Worksheet et Cell.PutValue() pour écrire des données structurées, puis appelez Workbook.Save() pour produire le fichier.
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");Ce modèle s’adapte à n’importe quel nombre de lignes et peut être alimenté par des données provenant d’une base de données ou d’une réponse d’API.
Traitement des feuilles de calcul téléchargées
Lire et valider les fichiers XLSX soumis par les utilisateurs via un formulaire Web ou un point de terminaison API. Le constructeur Workbook accepte un Stream, de sorte qu’aucun fichier temporaire n’a besoin d’être écrit sur le disque.
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 });
}Utilisez LoadDiagnostics.HasRepairs pour détecter les fichiers nécessitant une réparation structurelle et présenter ces informations aux utilisateurs.
Extraction du pipeline de données
Extrayez les données des cellules à partir des exportations XLSX générées par des systèmes tiers et alimentez les valeurs dans une base de données ou un service en aval. Lisez les valeurs des cellules via Cell.StringValue et Cell.Value en utilisant les coordonnées de ligne et de colonne.
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");Appliquer la validation des données avant l’enregistrement
Ajoutez des listes déroulantes ou des règles de validation de plage avant de livrer un modèle XLSX aux utilisateurs finaux, en veillant à ce qu’ils ne saisissent que des valeurs acceptables.
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");Mise en forme de la sortie pour la lisibilité
Appliquez les styles de cellule — polices, couleurs de remplissage, formats numériques, bordures — pour produire une sortie soignée. Créez une instance Style directement, configurez ses propriétés et appliquez‑la avec 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");