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 avec
Cell.SetStyle(). Pour les remplissages d’arrière‑plan, définissez Style.Pattern = FillPattern.Solid et attribuez un
Color à 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, et
IconSet. 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éfinissez
Hyperlink.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

FormatExtensionLireÉ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 que
Aspose.Cells_FOSS. Il convient aussi bien aux projets open-source qu’aux projets commerciaux.


Premiers pas

Ressources associées