Inleiding
Aspose.Cells FOSS for .NET is een zuivere managed‑code, MIT‑gelicentieerde bibliotheek voor het lezen, schrijven,
en manipuleren van Excel .xlsx‑werkboeken zonder enige Microsoft Office‑afhankelijkheid. Geïnstalleerd als
het Aspose.Cells_FOSS NuGet‑pakket, integreert het in elk .NET‑project — console‑apps, web‑API’s, achtergrondwerkers en serverloze functies.
Deze post biedt een stap‑voor‑stap doorloop van de openbare API, waarin wordt getoond wat mogelijk is en hoe elke functionaliteit vanuit C#‑code kan worden aangeroepen.
Functieoverzicht
Werkmap en Werkblad Levenscyclus
Het toegangspunt voor elke bewerking is de Workbook-klasse. Maak er één vanaf nul met new Workbook(), of laad een bestaande .xlsx met new Workbook(filePath) of new Workbook(stream). Navigeer door werkbladen via Workbook.Worksheets, stel Worksheet.Name en Worksheet.VisibilityType in, en sla op met Workbook.Save(). Voor beschadigde bestanden, geef een LoadOptions-instantie door met TryRepairPackage = true en 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);
}
Celgegevens en formules
Schrijf waarden naar cellen met Cell.PutValue() — overloads accepteren string, int, double,
decimal, bool en DateTime. Lees waarden terug via Cell.Value, Cell.StringValue en
Cell.Formula. Stel Excel‑formules in met de Cell.Formula‑eigenschap; de formule‑string wordt
behouden bij opslaan en overleeft een herlaad‑cyclus.
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);
Celopmaak
Pas Style objecten toe om lettertype, opvulling, randen, getalnotatie en uitlijning te regelen.
Haal de huidige stijl op met Cell.GetStyle(), wijzig deze, en commit vervolgens metCell.SetStyle(). Voor achtergrondvullingen, stel Style.Pattern = FillPattern.Solid in en wijs eenColor toe aan Style.ForegroundColor. Gebruik Cells.Merge() om celbereiken te laten overspannen.
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}");
Voorwaardelijke opmaak
Voeg voorwaardelijke opmaakregels toe aan celbereiken via ConditionalFormattingCollection.
Regels ondersteunen FormatConditionType.CellValue, Expression, ColorScale, DataBar, enIconSet. Gebruik OperatorType om vergelijkingsoperatoren op te geven (Between, Equal,GreaterThan, enz.), wijs een Style toe aan overeenkomende cellen, en configureer prioriteit en
stop‑if‑true‑gedrag per regel.
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");
Gegevensvalidatie
Voeg invoerbeperkingen toe aan cellen met Worksheet.Validations. Ondersteunde validatietypen omvatten ValidationType.List, Decimal, Custom en meer. Configureer invoerprompts (InputTitle, InputMessage) en foutmeldingen (ErrorTitle, ErrorMessage, ValidationAlertType). Gebruik CellArea.CreateCellArea() om het gevalideerde bereik te definiëren en Validation.AddArea() om een regel toe te passen op extra bereiken.
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");
Pagina‑instelling en afdrukopties
Configureer de afdrukindeling via Worksheet.PageSetup. Stel marges in (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, schaal, afdrukgebied, titelrijen en -kolommen, kopteksten en voetteksten, en pagina‑einden. Alle instellingen blijven behouden bij een opslaan‑laden cyclus.
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");
Werkbladinstellingen en beveiliging
Beheer per-werkblad weergave met Worksheet.ShowGridlines, ShowRowColumnHeaders,
ShowZeros, RightToLeft, Zoom en TabColor. Bescherm werkbladen met Worksheet.Protect()
en configureer fijnmazige Protection‑vlaggen (Objects, FormatCells, InsertRows,
AutoFilter, SelectLockedCells). Beheer rijhoogte, kolombreedte, verborgen rijen/kolommen en
samengevoegde regio’s via Cells.Rows, Cells.Columns en 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");
Hyperlinks en benoemde bereiken
Voeg externe, interne en mailto: hyperlinks toe via HyperlinkCollection.Add(). StelHyperlink.TextToDisplay en Hyperlink.ScreenTip in voor door de gebruiker zichtbare labels. Definieer benoemde
reeksen op werkboek- of bladniveau met behulp van DefinedNameCollection.Add() — benoemde reeksen dienen als
stabiele formuleankers en diagramgegevensbronnen die het herladen van het bestand overleven.
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);
Snelstart
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");
Ondersteunde formaten
| Formaat | Extensie | Lezen | Schrijven |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (diverse) | ✓ | — |
Open source & licenties
Aspose.Cells FOSS voor .NET is gepubliceerd onder de MIT‑licentie en wordt via NuGet gedistribueerd als Aspose.Cells_FOSS. Het is geschikt voor zowel open‑source als commerciële projecten.