Aspose.Cells FOSS für .NET ist eine kostenlose, MIT‑lizenzierte Open‑Source‑Bibliothek zum Arbeiten mit Excel‑Tabellendateien in .NET‑Anwendungen. Installieren Sie sie mit einem einzigen Befehl dotnet add package Aspose.Cells_FOSS und beginnen Sie damit, Arbeitsmappen zu erstellen, Zellen zu lesen, Formatvorlagen anzuwenden, bedingte Formatierungen, Hyperlinks, Datenvalidierungen und Auto‑Filter hinzuzufügen – alles ohne Microsoft Excel oder eine native Office‑Bibliothek zu benötigen.
Die Bibliothek stellt eine klare API bereit, die um Workbook, Worksheet, Cells und Cell herum aufgebaut ist – die bekannten Objekte, die jeder Tabellenkalkulations‑Entwickler kennt. Erzeugen Sie ein Workbook, um eine vorhandene .xlsx‑Datei zu laden oder eine leere zu erstellen, greifen Sie über die Worksheets‑Sammlung auf Arbeitsblätter zu, lesen und schreiben Sie Zellwerte mit PutValue und wenden Sie Formatvorlagen über GetStyle()/SetStyle() an. Formeln werden unverändert als Zeichenketten gespeichert und beim Öffnen vom Viewer ausgewertet, nicht von der Bibliothek zur Laufzeit.
Da die Bibliothek reiner verwalteter .NET‑Code ohne native Abhängigkeiten ist, läuft sie identisch unter Windows, macOS, Linux, in Docker‑Containern und serverlosen Umgebungen wie Azure Functions und AWS Lambda. Die MIT‑Lizenz erlaubt uneingeschränkte kommerzielle Nutzung ohne Lizenzgebühren, Sitzlizenzen oder Gebühren pro Bereitstellung.
Workbook(fileName) and Save(fileName).string, int, bool, decimal, and DateTime values with Cell.PutValue(value).Cell.StringValue, Cell.Value, and Cell.IntValue.Cell.Formula — evaluated by Excel on open.Workbook.Worksheets..xlsx without Office.CellStyle.Font.CellStyle.ForegroundColor and FillPattern.Solid.FormatConditionType.CellValue, Expression, ColorScale, DataBar, and IconSet rules via Worksheet.ConditionalFormattings.StyleRepository.Normalize(style) for consistent style application.ValidationCollection.Add().OperatorType.Between, GreaterThan, LessThan, and others.ValidationType.WholeNumber, Decimal, List, Date, or Custom.AutoFilter and AutoFilter.FilterColumns.CellArea.CreateCellArea(start, end).HyperlinkCollection.Add().DefinedNameCollection.Add().WorkbookProtection.Worksheet.Protect().LoadDiagnostics and LoadIssue.Install the NuGet package, then create a Workbook, access the first Worksheet, and write values to cells using PutValue. The example demonstrates writing multiple value types and performing a save-and-reload round trip.
dotnet add package Aspose.Cells_FOSS
using Aspose.Cells_FOSS;
var outputPath = "cell-data-roundtrip.xlsx";
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].PutValue(true);
sheet.Cells["D1"].PutValue(12.5m);
sheet.Cells["F1"].PutValue(10);
sheet.Cells["G1"].Formula = "=F1*2";
workbook.Save(outputPath);
var loaded = new Workbook(outputPath);
var loadedSheet = loaded.Worksheets[0];
Console.WriteLine(loadedSheet.Cells["A1"].StringValue);
Console.WriteLine(loadedSheet.Cells["G1"].Formula);
Add conditional formatting rules to highlight cell ranges. The example applies a between-value rule with a solid fill, an expression rule, a color scale, a data bar, and an icon set.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Conditional Formatting";
for (var i = 0; i < 10; i++)
sheet.Cells[i, 0].PutValue(i + 1);
var cfCol = sheet.ConditionalFormattings[sheet.ConditionalFormattings.Add()];
cfCol.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = cfCol[cfCol.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");
Create external and internal hyperlinks, then define named ranges scoped to the workbook or a specific sheet.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Links";
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 docs";
var name = workbook.DefinedNames[workbook.DefinedNames.Add("GlobalRange", "='Links'!$A$1:$D$5")];
name.Comment = "Primary sample range";
workbook.Save("hyperlinks-and-names.xlsx");