Úvod
Aspose.Cells FOSS for .NET je čistá knihovna spravovaného kódu s licencí MIT pro čtení, zápis,
a manipulaci se sešity Excel .xlsx bez jakékoli závislosti na Microsoft Office. Instalována jako
Aspose.Cells_FOSS NuGet balíček, integruje se do jakéhokoli .NET projektu — konzolových aplikací, web
API, background workerů a serverless funkcí.
Tento příspěvek poskytuje podrobný průvodce veřejným API po jednotlivých funkcích, ukazuje, co je možné, a jak vyvolat každou funkci z C# kódu.
Přehled funkcí
Životní cyklus sešitu a listu
Vstupním bodem pro každou operaci je třída Workbook. Vytvořte ji od nuly pomocí new Workbook(), nebo načtěte existující .xlsx pomocí new Workbook(filePath) nebo new Workbook(stream). Procházejte listy pomocí Workbook.Worksheets, nastavte Worksheet.Name a Worksheet.VisibilityType a uložte pomocí Workbook.Save(). Pro poškozené soubory předávejte instanci 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);
}
Data buněk a vzorce
Zapište hodnoty do buněk pomocí Cell.PutValue() — přetížení přijímají string, int, double,
decimal, bool a DateTime. Načtěte hodnoty zpět pomocí Cell.Value, Cell.StringValue a
Cell.Formula. Nastavte Excelové vzorce pomocí vlastnosti Cell.Formula; řetězec vzorce je
při uložení zachován a přežije cyklus načtení.
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);
Styling buněk
Použijte objekty Style k řízení písma, výplně, okrajů, formátu čísel a zarovnání.
Získejte aktuální styl pomocí Cell.GetStyle(), upravte jej a poté jej potvrďte pomocíCell.SetStyle(). Pro výplně pozadí nastavte Style.Pattern = FillPattern.Solid a přiřaďteColor k Style.ForegroundColor. Použijte Cells.Merge() k rozšíření rozsahů buněk.
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}");
Podmíněné formátování
Připojte pravidla podmíněného formátování k rozsahům buněk pomocí ConditionalFormattingCollection.
Pravidla podporují FormatConditionType.CellValue, Expression, ColorScale, DataBar, aIconSet. Použijte OperatorType k určení porovnávacích operátorů (Between, Equal,GreaterThan, atd.), přiřaďte Style k odpovídajícím buňkám a nakonfigurujte prioritu a
chování stop-if-true pro 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");
Validace dat
Přidejte vstupní omezení do buněk pomocí Worksheet.Validations. Podporované typy ověření
zahrnují ValidationType.List, Decimal, Custom a další. Nakonfigurujte vstupní výzvy
(InputTitle, InputMessage) a chybové zprávy (ErrorTitle, ErrorMessage,ValidationAlertType). Použijte CellArea.CreateCellArea() k definování ověřovaného rozsahu aValidation.AddArea() k aplikaci pravidla na další 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");
Nastavení stránky a možnosti tisku
Nakonfigurujte rozvržení tisku pomocí Worksheet.PageSetup. Nastavte okraje (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, měřítko, tiskovou oblast, řádky a sloupce s titulky, záhlaví a zápatí a zalomení stránek. Všechna nastavení přežijí uložení a načtení.
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");
Nastavení a ochrana listu
Ovládejte zobrazení na listu pomocí Worksheet.ShowGridlines, ShowRowColumnHeaders,
ShowZeros, RightToLeft, Zoom a TabColor. Chraňte listy pomocí Worksheet.Protect()
a nakonfigurujte detailní příznaky Protection (Objects, FormatCells, InsertRows,
AutoFilter, SelectLockedCells). Spravujte výšku řádku, šířku sloupce, skryté řádky/sloupce a
sloučené oblasti pomocí 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 pojmenované oblasti
Přidejte externí, interní a mailto: hypertextové odkazy pomocí HyperlinkCollection.Add(). Nastavte Hyperlink.TextToDisplay a Hyperlink.ScreenTip pro popisky viditelné uživatelem. Definujte pojmenované oblasti v rozsahu sešitu nebo listu pomocí DefinedNameCollection.Add() — pomenované oblasti slouží jako stabilní kotvy vzorců a zdroje dat pro grafy, které přetrvávají po načtení souboru.
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);
Rychlý start
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 | Přípona | Číst | Zapisovat |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (various) | ✓ | — |
Open Source a licencování
Aspose.Cells FOSS for .NET je publikována pod licencí MIT a distribuována přes NuGet jako
Aspose.Cells_FOSS. Je vhodná pro open-source i komerční projekty.