Inleiding
Aspose.Cells FOSS voor .NET is een pure 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 APIs, background workers, en serverless functions.
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.
Overzicht van functies
Levenscyclus van werkboek en werkblad
Het toegangspunt voor elke bewerking is de Workbook klasse. Maak er een vanaf nul met new Workbook(), of laad een bestaande .xlsx met new Workbook(filePath) of new Workbook(stream). Navigeer door bladen 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 bewaard 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, getalopmaak en uitlijning te beheersen. Haal de huidige stijl op met Cell.GetStyle(), wijzig deze, en bevestig vervolgens met Cell.SetStyle(). Voor achtergrondvullingen, stel Style.Pattern = FillPattern.Solid in en wijs een Color toe aan Style.ForegroundColor. Gebruik Cells.Merge() om celbereiken te 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
Koppel voorwaardelijke opmaakregels aan celbereiken via ConditionalFormattingCollection. Regels ondersteunen FormatConditionType.CellValue, Expression, ColorScale, DataBar en IconSet. Gebruik OperatorType om vergelijkingsoperatoren te specificeren (Between, Equal, GreaterThan, enz.), wijs een Style toe aan overeenkomstige cellen, en configureer prioriteit en stop-bij-waar 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 (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, schaal, afdrukgebied, titelrijen en -kolommen, kop- en voetteksten, en pagina-einden in. Alle instellingen blijven behouden na 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 bescherming
Beheer de weergave per blad 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(). Stel Hyperlink.TextToDisplay en Hyperlink.ScreenTip in voor door de gebruiker zichtbare labels. Definieer benoemde bereiken op werkboek- of bladniveau met behulp van DefinedNameCollection.Add() — benoemde bereiken dienen als stabiele formule-ankers en diagram-datasources die bestand herladen 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.FOSSusing 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 license en gedistribueerd via NuGet als Aspose.Cells_FOSS. Het is geschikt voor zowel open-source als commerciële projecten.