Úvod
Aspose.Cells FOSS for .NET je čistá knižnica v spravovanom kóde, licencovaná pod MIT, určená na čítanie, zápis,
a manipuláciu s Excel .xlsx zošitiami bez akýchkoľvek závislostí na Microsoft Office. Nainštalovaná ako
Aspose.Cells_FOSS NuGet balík, integruje sa do akéhokoľvek .NET projektu — konzolových aplikácií, webových
API, background workerov a serverless funkcií.
Tento príspevok poskytuje podrobný prehľad verejného API po jednotlivých funkciách, ukazujúc, čo je možné a ako vyvolať každú funkciu z C# kódu.
Prehľad funkcií
Životný cyklus zošita a pracovného hárku
Vstupný bod pre každú operáciu je trieda Workbook. Vytvorte ju od začiatku pomocou new Workbook(), alebo načítajte existujúcu .xlsx pomocou new Workbook(filePath) alebo new Workbook(stream). Prechádzajte listy cez Workbook.Worksheets, nastavte Worksheet.Name a Worksheet.VisibilityType a uložte pomocou Workbook.Save(). Pre poškodené súbory odovzdajte inštanciu LoadOptions s TryRepairPackage = true a 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);
}
Dáta buniek a vzorce
Zapíšte hodnoty do buniek pomocou Cell.PutValue() — preťaženia akceptujú string, int, double,
decimal, bool a DateTime. Prečítajte hodnoty späť cez Cell.Value, Cell.StringValue a
Cell.Formula. Nastavte Excelové vzorce pomocou vlastnosti Cell.Formula; reťazec vzorca je
zachovaný pri uložení a prežije cyklus načítania.
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);
Štýlovanie buniek
Použite objekty Style na ovládanie písma, výplne, okrajov, formátu čísel a zarovnania.
Získajte aktuálny štýl pomocou Cell.GetStyle(), upravte ho a potom ho potvrďte pomocouCell.SetStyle(). Pre výplne pozadia nastavte Style.Pattern = FillPattern.Solid a priraďte Color k Style.ForegroundColor. Použite Cells.Merge() na rozšírenie rozsahov buniek.
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}");
Podmienené formátovanie
Pripojte pravidlá podmieneného formátovania k rozsahom buniek pomocou ConditionalFormattingCollection.
Pravidlá podporujú FormatConditionType.CellValue, Expression, ColorScale, DataBar, aIconSet. Použite OperatorType na určenie porovnávacích operátorov (Between, Equal,GreaterThan, atď.), priraďte Style k zodpovedajúcim bunkám a nakonfigurujte prioritu a
stop-if-true správanie pre každé pravidlo.
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");
Validácia údajov
Pridajte vstupné obmedzenia do buniek pomocou Worksheet.Validations. Podporované typy overovania zahŕňajú ValidationType.List, Decimal, Custom a ďalšie. Nastavte vstupné výzvy (InputTitle, InputMessage) a chybové správy (ErrorTitle, ErrorMessage, ValidationAlertType). Použite CellArea.CreateCellArea() na definovanie overovaného rozsahu a Validation.AddArea() na použitie pravidla na ďalšie rozsahy.
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");
Nastavenie stránky a možnosti tlače
Nakonfigurujte rozloženie tlače pomocou Worksheet.PageSetup. Nastavte okraje (LeftMarginInch,
RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, mierka,
oblasť tlače, riadky a stĺpce nadpisov, hlavičky a päty a zalomenia stránok. Všetky nastavenia prežijú cyklus uloženia a načítania.
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");
Nastavenia a ochrana pracovného hárku
Riadiť zobrazenie na listoch pomocou Worksheet.ShowGridlines, ShowRowColumnHeaders,
ShowZeros, RightToLeft, Zoom a TabColor. Chrániť listy pomocou Worksheet.Protect()
a konfigurovať detailné Protection príznaky (Objects, FormatCells, InsertRows,
AutoFilter, SelectLockedCells). Spravovať výšku riadkov, šírku stĺpcov, skryté riadky/stĺpce a
zlúčené oblasti pomocou Cells.Rows, Cells.Columns a 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");
Hyperlinky a pomenované rozsahy
Pridajte externé, interné a mailto: hypertextové odkazy prostredníctvom HyperlinkCollection.Add().
Nastavte Hyperlink.TextToDisplay a Hyperlink.ScreenTip pre používateľom viditeľné popisky.
Definujte pomenované rozsahy v rozsahu zošita alebo hárku pomocou DefinedNameCollection.Add() — pomenované rozsahy slúžia ako stabilné kotvy vzorcov a zdroje údajov pre grafy, ktoré prežijú opätovné načítanie súboru.
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);
Rýchly štart
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");
Podporované formáty
| Formát | Prípona | Čítať | Zapísať |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (rôzne) | ✓ | — |
Open Source a licencovanie
Aspose.Cells FOSS for .NET je publikovaný pod licenciou MIT a distribuovaný prostredníctvom NuGet ako
Aspose.Cells_FOSS. Je vhodný pre open-source aj komerčné projekty.