Introduktion
Aspose.Cells FOSS for .NET är ett rent managed-code, MIT-licensierat bibliotek för att läsa, skriva,
och manipulera Excel .xlsx arbetsböcker utan någon Microsoft Office-beroende. Installerat som
Aspose.Cells_FOSS NuGet-paketet 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 det offentliga API:et, visar vad som är möjligt och hur man anropar varje funktionalitet från C#‑kod.
Funktionsöversikt
Arbetsbok och Arbetsblad Livscykel
Ingångspunkten för varje operation är Workbook‑klassen. Skapa en från grunden med new Workbook(), eller ladda 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() — överlagringar 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
Använd Style-objekt för att styra teckensnitt, fyllning, kanter, talformat och justering.
Hämta den aktuella stilen med Cell.GetStyle(), ändra den och sedan bekräfta med
Cell.SetStyle(). För bakgrundsfyllningar, ange Style.Pattern = FillPattern.Solid och tilldela en
Color till Style.ForegroundColor. Använd Cells.Merge() för att spänna över cellområden.
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 villkorsformateringsregler till cellområden via ConditionalFormattingCollection.
Regler stödjer FormatConditionType.CellValue, Expression, ColorScale, DataBar, ochIconSet. Använd OperatorType för att ange jämförelseoperatorer (Between, Equal,GreaterThan, osv.), tilldela en Style till matchade 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. Stödda 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 ochValidation.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, titelrader och kolumner, sidhuvuden och sidfötter samt sidbrytningar. Alla inställningar överlever
en spara‑ladda‑runda.
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");
Arbetsbladinstä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
sammanfogade regioner 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(). AngeHyperlink.TextToDisplay och Hyperlink.ScreenTip för användarsynliga etiketter. Definiera namngivna
områden på arbetsboks- eller bladnivå med hjälp av 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_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");
Stödda format
| Format | Filändelse | Läs | Skriv |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (olika) | ✓ | — |
Öppen källkod och licensiering
Aspose.Cells FOSS för .NET publiceras under MIT-licensen och distribueras via NuGet somAspose.Cells_FOSS. Det är lämpligt för både öppen källkod och kommersiella projekt.