Uvod

Aspose.Cells FOSS for .NET je čista biblioteka upravljanog koda, licencirana pod MIT-om, za čitanje, pisanje, i manipuliranje Excel .xlsx radnim knjigama bez ikakve ovisnosti o Microsoft Officeu. Instalirana kao Aspose.Cells_FOSS NuGet paket, integrira se u bilo koji .NET projekt — konzolne aplikacije, web API-je, pozadinske radnike i serverless funkcije.

Ovaj post pruža detaljan pregled javnog API-ja po značajkama, pokazujući što je moguće i kako pozvati svaku mogućnost iz C# koda.


Pregled značajki

Životni ciklus radne knjige i radnog lista

Ulazna točka za svaku operaciju je klasa Workbook. Izgradite je od nule pomoću new Workbook(), ili učitajte postojeću .xlsx pomoću new Workbook(filePath) ili new Workbook(stream). Navigirajte listove putem Workbook.Worksheets, postavite Worksheet.Name i Worksheet.VisibilityType, i spremite s Workbook.Save(). Za oštećene datoteke, proslijedite instancu LoadOptions s TryRepairPackage = true i 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);
}

Podaci ćelija i formule

Zapišite vrijednosti u ćelije pomoću Cell.PutValue() — preopterećenja prihvaćaju string, int, double, decimal, bool i DateTime. Pročitajte vrijednosti natrag putem Cell.Value, Cell.StringValue i Cell.Formula. Postavite Excel formule pomoću svojstva Cell.Formula; niz formule se čuva pri spremanju i preživljava ciklus ponovnog učitavanja.

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

Stiliziranje ćelija

Primijenite Style objekte za kontrolu fonta, ispune, rubova, formata broja i poravnanja. Dohvatite trenutni stil pomoću Cell.GetStyle(), izmijenite ga, a zatim ga potvrdite s Cell.SetStyle(). Za pozadinske ispune postavite Style.Pattern = FillPattern.Solid i dodijelite Color na Style.ForegroundColor. Koristite Cells.Merge() za proširenje raspona ćelija.

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

Uslovno formatiranje

Priložite pravila uvjetnog formatiranja rasponima ćelija putem ConditionalFormattingCollection.
Pravila podržavaju FormatConditionType.CellValue, Expression, ColorScale, DataBar i
IconSet. Upotrijebite OperatorType za određivanje operatora usporedbe (Between, Equal,
GreaterThan, itd.), dodijelite Style podudarajućim ćelijama i konfigurirajte prioritet i
ponašanje stop-if-true po pravilu.

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

Validacija podataka

Dodajte ograničenja unosa u ćelije pomoću Worksheet.Validations. Podržane vrste provjere uključuju ValidationType.List, Decimal, Custom i druge. Konfigurirajte upitne poruke (InputTitle, InputMessage) i poruke o pogrešci (ErrorTitle, ErrorMessage, ValidationAlertType). Koristite CellArea.CreateCellArea() za definiranje provjerenog raspona i Validation.AddArea() za primjenu pravila na dodatne raspone.

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

Postavke stranice i opcije ispisa

Konfigurirajte izgled ispisa putem Worksheet.PageSetup. Postavite margine (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, skaliranje, područje ispisa, redove i stupce naslova, zaglavlja i podnožja te prijelome stranica. Sva postavke preživljavaju ciklus spremanja i učitavanja.

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

Postavke radnog lista i zaštita

Upravljajte prikazom po listu pomoću Worksheet.ShowGridlines, ShowRowColumnHeaders, ShowZeros, RightToLeft, Zoom i TabColor. Zaštitite listove pomoću Worksheet.Protect() i konfigurirajte detaljne Protection zastavice (Objects, FormatCells, InsertRows, AutoFilter, SelectLockedCells). Upravljajte visinom redaka, širinom stupaca, skrivenim redovima/stupcima i spojenim područjima putem Cells.Rows, Cells.Columns i 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");

Hiperveze i imenovani rasponi

Dodajte vanjske, interne i mailto: hiperveze putem HyperlinkCollection.Add().
Postavite Hyperlink.TextToDisplay i Hyperlink.ScreenTip za oznake vidljive korisniku.
Definirajte imenovane rasponove na razini radne knjige ili lista pomoću DefinedNameCollection.Add() — imenovani rasponi služe kao stabilna sidrišta formula i izvori podataka za grafikone koji preživljavaju ponovno učitavanje datoteke.

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

Brzi početak

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

Podržani formati

FormatExtensionČitanjePisanje
Xlsx.xlsx
Auto(various)

Open Source i licenciranje

Aspose.Cells FOSS for .NET objavljen je pod MIT licencom i distribuira se putem NuGet-a kao Aspose.Cells_FOSS. Pogodan je za open-source i komercijalne projekte podjednako.


Početak

Povezani resursi