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.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

FormatFiländelseLäsaSkriva
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.


Komma igång

Relaterade resurser