Einführung
Aspose.Cells FOSS for .NET is a pure managed-code, MIT-licensed library for reading, writing, und Excel zu manipulieren. .xlsx Arbeitsmappen ohne Microsoft Office-Abhängigkeit. Installiert als die Aspose.Cells_FOSS NuGet-Paket, integriert sich in jedes .NET Projekt Konsolenanwendungen, Web APIs, Hintergrundarbeiter und serverlose Funktionen.
Dieser Beitrag bietet einen Feature-by-Feature Walkthrough der öffentlichen API, die zeigt, was möglich ist und wie man jede Fähigkeit aus C# Code aufrufen kann.
Übersicht über die Funktionen
Arbeitsbuch und Arbeitsblatt Lebenszyklus
Der Eingangspunkt für jede Operation ist der Workbook Bauen Sie eine von Grund auf mit new Workbook(), oder eine vorhandene .xlsx mit: new Workbook(filePath) oder new Workbook(stream).Navigationsblätter über die Workbook.Worksheets, gesetzt Worksheet.Name und Worksheet.VisibilityType, und beständig mit Workbook.Save().Für beschädigte Dateien, geben Sie eine LoadOptions Beispiel 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);
}
Zelldaten und Formeln
Werte in Zellen mit Cell.PutValue() Überlastungen akzeptiert string, int, double, decimal, bool, und DateTime.Werte wiederlesen über Cell.Value, Cell.StringValue, und Cell.Formula.Excel-Formeln mit den folgenden Formularen einstellen: Cell.Formula Eigenschaft; die Formel-Zeichenfolge ist: Die Verpackung wird auf Save konserviert und überlebt einen Neuladenzyklus.
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);
Zell-Styling
Anmeldung Style Objekte zur Steuerung von Schriftart, Füllform, Grenzen, Nummernformat und Ausrichtung. Den aktuellen Stil mit … Cell.GetStyle(), mutate es, dann mit zu verpflichten Cell.SetStyle().Für Hintergrundfüllungen, Setz: Style.Pattern = FillPattern.Solid und eine Color zu . Style.ForegroundColor.- Verwenden . Cells.Merge() Um die Zellbereiche zu erfassen.
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}");
Bedingtes Formatieren
Anfügen von formatierungsbedingungen an Zellbereiche über ConditionalFormattingCollection. Regeln unterstützen FormatConditionType.CellValue, Expression, ColorScale, DataBar,und . IconSet.- Verwenden . OperatorType die Festlegung von Vergleichsbetreibern (Between, Equal, GreaterThan, usw.), eine Style zu den übereinstimmenden Zellen und die 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
Hinzufügen von Eingabebeschränkungen zu Zellen mit Worksheet.Validations.Unterstützte Validierungsarten umfassen: ValidationType.List, Decimal, Custom, und mehr. Konfiguration von Eingabeaufforderungen (InputTitle, InputMessage) und Fehlermeldungen (ErrorTitle, ErrorMessage, ValidationAlertType) Verwendung CellArea.CreateCellArea() die Validierung des Bereichs festzulegen und Validation.AddArea() 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");
Seite-Einstellung und Druckoptionen
Drucklayout konfigurieren über Worksheet.PageSetup.Die Margen werden festgelegt (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, Maßstab, Druckbereich, Titelzeilen und Spalten, Überschriften und Fußzeiten sowie Seitenunterbrechungen. Alle Einstellungen überleben die eine Rückfahrt mit geringer Ladung.
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
Steuerung pro Blatt mit Worksheet.ShowGridlines, ShowRowColumnHeaders, ShowZeros, RightToLeft, Zoom,und . TabColor.Schutzglas mit Worksheet.Protect() und feinkörnig konfigurieren, Protection Flaggen (Objects, FormatCells, InsertRows, AutoFilter, SelectLockedCells) Zeilenhöhe, Spaltenbreite und versteckte Zeigen/Spalten verwalten; über die fusionierten Regionen 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");
Hyperlinks und benannte Bereiche
Hinzu kommen externe, interne und mailto: Hyperlinks über die HyperlinkCollection.Add().- Setzt . Hyperlink.TextToDisplay und . Hyperlink.ScreenTip für benutzersichtliche Etiketten. Bereiche im Arbeitsbuch- oder Blattbereich unter Verwendung von DefinedNameCollection.Add() benannte Bereiche dienen als Stabile Formelanker und Diagrammdatenquellen, die eine Datei erneut laden.
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);
Schneller Start
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
| Format der Datenbank | Erweiterung | Lesen Sie . | Schreiben . |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto-Fahrzeug | (verschiedene) | ✓ | — |
Open Source und Lizenzierung
Aspose.Cells FOSS for .NET is published under the MIT license and distributed via NuGet as Aspose.Cells_FOSS.Es eignet sich sowohl für Open-Source-Projekte als auch für kommerzielle Projekte.