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 iIconSet. 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
| Format | Extension | Čitanje | Pisanje |
|---|---|---|---|
| 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.