Introduction
Aspose.Cells FOSS for .NET est une bibliothèque purement gérée, sous licence MIT, pour la lecture, l’écriture,
et la manipulation des classeurs Excel .xlsx sans aucune dépendance à Microsoft Office. Installée en tant que
le Aspose.Cells_FOSS package NuGet, elle s’intègre à tout projet .NET — applications console, web
APIs, workers en arrière-plan et fonctions serverless.
Cet article fournit un guide fonction par fonction de l’API publique, montrant ce qui est possible et comment invoquer chaque capacité depuis le code C#.
Aperçu des fonctionnalités
Cycle de vie du classeur et de la feuille de calcul
Le point d’entrée de chaque opération est la classe Workbook. Créez‑en une à partir de zéro avec new Workbook(), ou chargez une .xlsx existante avec new Workbook(filePath) ou new Workbook(stream). Naviguez parmi les feuilles via Workbook.Worksheets, définissez Worksheet.Name et Worksheet.VisibilityType, et persistez avec Workbook.Save(). Pour les fichiers endommagés, transmettez une instance LoadOptions avec TryRepairPackage = true et TryRepairXml = true.
using Aspose.Cells_FOSS;
var options = new LoadOptions
{
TryRepairPackage = true,
TryRepairXml = true,
};
try
{
_ = new Workbook("sample.xlsx", options);
}
catch (WorkbookLoadException exception)
{
Console.WriteLine(exception.Message);
}
Données de cellules et formules
Écrivez des valeurs dans les cellules avec Cell.PutValue() — les surcharges acceptent string, int, double,
decimal, bool et DateTime. Lisez les valeurs via Cell.Value, Cell.StringValue et
Cell.Formula. Définissez les formules Excel avec la propriété Cell.Formula ; la chaîne de formule est
préservée lors de l’enregistrement et survit à un cycle de rechargement.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].Formula = "=B1*2";
workbook.Save("hello.xlsx");
var loaded = new Workbook("hello.xlsx");
Console.WriteLine(loaded.Worksheets[0].Cells["C1"].Formula);
Console.WriteLine(loaded.Worksheets[0].Cells["C1"].StringValue);
Mise en forme des cellules
Appliquez les objets Style pour contrôler la police, le remplissage, les bordures, le format numérique et l’alignement.
Récupérez le style actuel avec Cell.GetStyle(), modifiez‑le, puis validez avecCell.SetStyle(). Pour les remplissages d’arrière‑plan, définissez Style.Pattern = FillPattern.Solid et attribuez unColor à Style.ForegroundColor. Utilisez Cells.Merge() pour étendre les plages de cellules.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var cell = workbook.Worksheets[0].Cells["A1"];
cell.PutValue("Styled");
var style = cell.GetStyle();
style.Font.Bold = true;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 241, 196, 15);
cell.SetStyle(style);
Console.WriteLine($"{cell.StringValue} / Bold={cell.GetStyle().Font.Bold}");
Mise en forme conditionnelle
Attachez des règles de mise en forme conditionnelle aux plages de cellules via ConditionalFormattingCollection.
Les règles prennent en charge FormatConditionType.CellValue, Expression, ColorScale, DataBar, etIconSet. Utilisez OperatorType pour spécifier les opérateurs de comparaison (Between, Equal,GreaterThan, etc.), attribuez un Style aux cellules correspondantes, et configurez la priorité et
stop-if-true behaviour per rule.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
var cfCollection = sheet.ConditionalFormattings[sheet.ConditionalFormattings.Add()];
cfCollection.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = cfCollection[cfCollection.AddCondition(
FormatConditionType.CellValue, OperatorType.Between, "3", "7")];
var style = rule.Style;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 255, 199, 206);
style.Font.Bold = true;
rule.Style = style;
workbook.Save("conditional-formatting.xlsx");
Validation des données
Ajoutez des contraintes d’entrée aux cellules à l’aide de Worksheet.Validations. Les types de validation pris en charge incluent ValidationType.List, Decimal, Custom, et plus encore. Configurez les invites d’entrée (InputTitle, InputMessage) et les messages d’erreur (ErrorTitle, ErrorMessage, ValidationAlertType). Utilisez CellArea.CreateCellArea() pour définir la plage validée et Validation.AddArea() pour appliquer une règle à des plages supplémentaires.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Validation Sheet";
var listIdx = sheet.Validations.Add(CellArea.CreateCellArea("A1", "A3"));
var listVal = sheet.Validations[listIdx];
listVal.Type = ValidationType.List;
listVal.Formula1 = "\"Open,Closed\"";
listVal.IgnoreBlank = true;
listVal.InCellDropDown = true;
listVal.ShowInput = true;
listVal.InputTitle = "Status";
listVal.InputMessage = "Pick a status";
listVal.ShowError = true;
listVal.ErrorTitle = "Invalid";
listVal.ErrorMessage = "Choose from the list";
workbook.Save("validations-sample.xlsx");
Mise en page et options d’impression
Configurez la mise en page d’impression via Worksheet.PageSetup. Définissez les marges (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, l’échelle, la zone d’impression, les lignes et colonnes de titre, les en‑têtes et pieds de page, et les sauts de page. Tous les paramètres survivent à un aller‑retour sauvegarde‑chargement.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Print Sheet";
sheet.Cells["A1"].PutValue("Title");
var pageSetup = sheet.PageSetup;
pageSetup.Orientation = PageOrientationType.Landscape;
pageSetup.PaperSize = PaperSizeType.PaperA4;
pageSetup.PrintArea = "$A$1:$C$10";
pageSetup.PrintTitleRows = "$1:$2";
pageSetup.LeftHeader = "Left Header";
pageSetup.CenterFooter = "Center Footer";
pageSetup.PrintGridlines = true;
pageSetup.CenterHorizontally = true;
workbook.Save("page-setup-sample.xlsx");
Paramètres et protection de la feuille de calcul
Contrôlez l’affichage par feuille avec Worksheet.ShowGridlines, ShowRowColumnHeaders,
ShowZeros, RightToLeft, Zoom et TabColor. Protégez les feuilles avec Worksheet.Protect()
et configurez les indicateurs fins Protection (Objects, FormatCells, InsertRows,
AutoFilter, SelectLockedCells). Gérez la hauteur des lignes, la largeur des colonnes, les lignes/colonnes masquées et
les régions fusionnées via Cells.Rows, Cells.Columns et Cells.Merge().
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var layout = workbook.Worksheets[0];
layout.Name = "Layout";
layout.VisibilityType = VisibilityType.Hidden;
layout.TabColor = Color.FromArgb(255, 34, 68, 102);
layout.ShowGridlines = false;
layout.Zoom = 85;
layout.Protect();
layout.Protection.FormatCells = true;
layout.Protection.InsertRows = true;
layout.Cells["A1"].PutValue("Merged");
layout.Cells.Rows[1].Height = 22.5d;
layout.Cells.Columns[0].Width = 18.25d;
layout.Cells.Merge(0, 0, 2, 2);
workbook.Save("worksheet-settings-sample.xlsx");
Liens hypertexte et plages nommées
Ajoutez des hyperliens externes, internes et mailto: via HyperlinkCollection.Add(). DéfinissezHyperlink.TextToDisplay et Hyperlink.ScreenTip pour les libellés visibles par l’utilisateur. Définissez des
plages nommées à la portée du classeur ou de la feuille à l’aide de DefinedNameCollection.Add() — les plages nommées servent d’ancrages de formule stables et de
sources de données de graphique qui survivent au rechargement du fichier.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Docs");
var link = sheet.Hyperlinks[sheet.Hyperlinks.Add("A1", 1, 1, "https://example.com/docs")];
link.TextToDisplay = "Docs";
link.ScreenTip = "External documentation";
var name = workbook.DefinedNames[workbook.DefinedNames.Add("PrimaryRange", "='Sheet1'!$A$1:$D$5")];
name.Comment = "Primary data range";
workbook.Save("hyperlinks-names.xlsx");
Console.WriteLine("Hyperlinks: " + sheet.Hyperlinks.Count);
Console.WriteLine("Defined names: " + workbook.DefinedNames.Count);
Démarrage rapide
dotnet add package Aspose.Cells_FOSS
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].Formula = "=B1*2";
workbook.Save("output.xlsx");
Formats pris en charge
| Format | Extension | Lire | Écrire |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (various) | ✓ | — |
Open Source et licences
Aspose.Cells FOSS for .NET est publié sous licence MIT et distribué via NuGet en tant queAspose.Cells_FOSS. Il convient aussi bien aux projets open-source qu’aux projets commerciaux.