Einleitung

Aspose.Cells FOSS for .NET ist eine reine Managed‑Code‑Bibliothek, MIT‑lizenziert, zum Lesen, Schreiben, und zum Manipulieren von Excel .xlsx Arbeitsmappen ohne jegliche Microsoft‑Office‑Abhängigkeit. Installiert als das Aspose.Cells_FOSS NuGet‑Paket, integriert es sich in jedes .NET‑Projekt — Konsolen‑Apps, Web‑APIs, Hintergrund‑Worker und serverlose Funktionen.

Dieser Beitrag bietet eine schrittweise Durchsicht der öffentlichen API, zeigt, was möglich ist und wie jede Funktionalität aus C#‑Code aufgerufen werden kann.


Funktionsübersicht

Arbeitsmappe und Arbeitsblatt‑Lebenszyklus

Der Einstiegspunkt für jede Operation ist die Workbook-Klasse. Erstellen Sie eine von Grund auf mit new Workbook(), oder laden Sie eine vorhandene .xlsx mit new Workbook(filePath) oder new Workbook(stream). Navigieren Sie durch Tabellenblätter über Workbook.Worksheets, setzen Sie Worksheet.Name und Worksheet.VisibilityType und speichern Sie mit Workbook.Save(). Für beschädigte Dateien übergeben Sie eine LoadOptions-Instanz mit TryRepairPackage = true und 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);
}

Zellendaten und Formeln

Schreiben Sie Werte in Zellen mit Cell.PutValue() — Überladungen akzeptieren string, int, double, decimal, bool und DateTime. Lesen Sie Werte zurück über Cell.Value, Cell.StringValue und Cell.Formula. Setzen Sie Excel‑Formeln mit der Cell.Formula‑Eigenschaft; die Formelzeichenfolge wird beim Speichern beibehalten und übersteht einen Neuladevorgang.

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);

Zellformatierung

Wenden Sie Style‑Objekte an, um Schriftart, Füllung, Rahmen, Zahlenformat und Ausrichtung zu steuern.
Rufen Sie den aktuellen Stil mit Cell.GetStyle() ab, ändern Sie ihn und übernehmen Sie ihn mit
Cell.SetStyle().
Für Hintergrundfüllungen setzen Sie Style.Pattern = FillPattern.Solid und weisen ein
Color zu Style.ForegroundColor zu.
Verwenden Sie Cells.Merge(), um Zellbereiche zu spannen.

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}");

Bedingte Formatierung

Binden Sie bedingte Formatierungsregeln an Zellbereiche über ConditionalFormattingCollection.
Regeln unterstützen FormatConditionType.CellValue, Expression, ColorScale, DataBar, und
IconSet. Verwenden Sie OperatorType, um Vergleichsoperatoren anzugeben (Between, Equal,
GreaterThan usw.), weisen Sie den übereinstimmenden Zellen ein Style zu und konfigurieren Sie Priorität und
stop-if-true‑Verhalten pro 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");

Datenvalidierung

Fügen Sie Zellen Eingabebeschränkungen mit Worksheet.Validations hinzu. Unterstützte Validierungstypen
einschließlich ValidationType.List, Decimal, Custom und mehr. Konfigurieren Sie Eingabeaufforderungen
(InputTitle, InputMessage) und Fehlermeldungen (ErrorTitle, ErrorMessage,
ValidationAlertType). Verwenden Sie CellArea.CreateCellArea(), um den validierten Bereich zu definieren und
Validation.AddArea(), um eine Regel auf zusätzliche Bereiche anzuwenden.

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");

Seitenlayout und Druckoptionen

Konfigurieren Sie das Drucklayout über Worksheet.PageSetup. Legen Sie Ränder (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, Maßstab, Druckbereich, Titelzeilen und -spalten, Kopf- und Fußzeilen sowie Seitenumbrüche fest. Alle Einstellungen überstehen einen Speicher‑Lade‑Durchlauf.

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");

Arbeitsblatt‑Einstellungen und –Schutz

Steuern Sie die Anzeige pro Blatt mit Worksheet.ShowGridlines, ShowRowColumnHeaders, ShowZeros, RightToLeft, Zoom und TabColor. Schützen Sie Blätter mit Worksheet.Protect() und konfigurieren Sie feinkörnige Protection‑Flags (Objects, FormatCells, InsertRows, AutoFilter, SelectLockedCells). Verwalten Sie Zeilenhöhe, Spaltenbreite, ausgeblendete Zeilen/Spalten und zusammengeführte Bereiche über Cells.Rows, Cells.Columns und 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");

Fügen Sie externe, interne und mailto: Hyperlinks über HyperlinkCollection.Add() hinzu. Setzen
Hyperlink.TextToDisplay und Hyperlink.ScreenTip für benutzerfreundliche Beschriftungen. Definieren Sie benannte
Bereiche im Arbeitsmappen- oder Blattbereich mithilfe von DefinedNameCollection.Add() — benannte Bereiche dienen als
stabile Formelanker und Diagrammdatenquellen, die beim Neuladen der Datei erhalten bleiben.

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);

Schnellstart

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");

Unterstützte Formate

FormatErweiterungLesenSchreiben
Xlsx.xlsx
Auto(verschiedene)

Open Source & Lizenzierung

Aspose.Cells FOSS for .NET wird unter der MIT-Lizenz veröffentlicht und über NuGet als
Aspose.Cells_FOSS verteilt. Es ist sowohl für Open-Source- als auch für kommerzielle Projekte geeignet.


Erste Schritte

Verwandte Ressourcen