Introduktion
Aspose.Cells FOSS för .NET är ett rent managed-code-bibliotek med MIT-licens för att läsa, skriva och manipulera Excel .xlsx-arbetsböcker utan något Microsoft Office-beroende. Installerat som paketet Aspose.Cells_FOSS NuGet integreras det i alla .NET-projekt — konsolappar, webb-API:er, bakgrundsarbetsprocesser och serverlösa funktioner.
Det här inlägget ger en funktion-för-funktion genomgång av den offentliga API, och visar vad som är möjligt samt hur man anropar varje funktion från C#-kod.
Översikt över funktioner
Livscykel för arbetsbok och arbetsblad
Ingångspunkten för varje operation är klassen Workbook. Skapa en från grunden med new Workbook(), eller läs in en befintlig .xlsx med new Workbook(filePath) eller new Workbook(stream). Navigera blad via Workbook.Worksheets, sätt Worksheet.Name och Worksheet.VisibilityType, och spara med Workbook.Save(). För skadade filer, skicka en LoadOptions-instans med TryRepairPackage = true och 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);
}
Celldata och formler
Skriv värden till celler med Cell.PutValue() — överladdningar accepterar string, int, double, decimal, bool och DateTime. Läs tillbaka värden via Cell.Value, Cell.StringValue och Cell.Formula. Ställ in Excel-formler med egenskapen Cell.Formula; formelsträngen bevaras vid sparning och överlever en omladdningscykel.
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);
Cellformatering
Applicera Style-objekt för att styra teckensnitt, fyllning, kanter, talformat och justering. Hämta den aktuella stilen med Cell.GetStyle(), förändra den, och begå sedan med Cell.SetStyle(). För bakgrundsfyllningar, sätt Style.Pattern = FillPattern.Solid och tilldela en Color till Style.ForegroundColor. Använd Cells.Merge() för att omfatta cellintervall.
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}");
Villkorsstyrd formatering
Fäst villkorsstyrda formateringsregler till cellintervall via ConditionalFormattingCollection. Regler stödjer FormatConditionType.CellValue, Expression, ColorScale, DataBar och IconSet. Använd OperatorType för att ange jämförelseoperatorer (Between, Equal, GreaterThan osv.), tilldela en Style till matchande celler, och konfigurera prioritet och stop-if-true-beteende 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");
Datavalidering
Lägg till inmatningsbegränsningar i celler med Worksheet.Validations. Supportade valideringstyper inkluderar ValidationType.List, Decimal, Custom och fler. Konfigurera inmatningspromptar (InputTitle, InputMessage) och felmeddelanden (ErrorTitle, ErrorMessage, ValidationAlertType). Använd CellArea.CreateCellArea() för att definiera det validerade intervallet och Validation.AddArea() för att tillämpa en regel på ytterligare intervall.
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");
Sidinställningar och utskriftsalternativ
Konfigurera utskriftslayout via Worksheet.PageSetup. Ställ in marginaler (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, skala, utskriftsområde, titellrader och -kolumner, sidhuvuden och sidfötter samt sidbrytningar. Alla inställningar överlever en spara-läs-omgång.
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");
Arbetsbladsinställningar och skydd
Styr per-bladvisning med Worksheet.ShowGridlines, ShowRowColumnHeaders, ShowZeros, RightToLeft, Zoom och TabColor. Skydda blad med Worksheet.Protect() och konfigurera finfördelade Protection-flaggor (Objects, FormatCells, InsertRows, AutoFilter, SelectLockedCells). Hantera radhöjd, kolumnbredd, dolda rader/kolumner och sammanslagna områden via Cells.Rows, Cells.Columns och 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");
Hyperlänkar och namngivna områden
Lägg till externa, interna och mailto: hyperlänkar via HyperlinkCollection.Add(). Ställ in Hyperlink.TextToDisplay och Hyperlink.ScreenTip för användarsynliga etiketter. Definiera namngivna områden på arbetsboks- eller bladnivå med DefinedNameCollection.Add() — namngivna områden fungerar som stabila formelankare och diagramdatakällor som överlever filomladdning.
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);
Snabbstart
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");
Stödda format
| Format | Filändelse | Läsa | Skriva |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (olika) | ✓ | — |
Öppen källkod & licensiering
Aspose.Cells FOSS för .NET är publicerad under MIT-licensen och distribueras via NuGet som Aspose.Cells_FOSS. Den är lämplig för både öppen källkod och kommersiella projekt.