Вступ
Aspose.Cells FOSS for .NET — це чиста бібліотека на керованому коді з ліцензією MIT для читання, запису,
і маніпулювання Excel .xlsx робочими книгами без будь‑якої залежності від Microsoft Office. Встановлена як
Aspose.Cells_FOSS пакет NuGet, вона інтегрується в будь‑який .NET‑проект — консольні додатки, веб
API, фонова робота та безсерверні функції.
У цьому дописі представлено покроковий огляд публічного API за функціями, показано, що можливо, і як викликати кожну можливість з коду C#.
Огляд функцій
Життєвий цикл робочої книги та листа
Точкою входу для кожної операції є клас Workbook. Створіть його з нуля за допомогою new Workbook(), або завантажте існуючий .xlsx за допомогою new Workbook(filePath) чи new Workbook(stream). Переміщуйтеся по листах за допомогою Workbook.Worksheets, встановлюйте Worksheet.Name і Worksheet.VisibilityType, і зберігайте за допомогою Workbook.Save(). Для пошкоджених файлів передайте екземпляр LoadOptions з TryRepairPackage = true і 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);
}
Дані клітинок і формули
Записуйте значення у клітинки за допомогою Cell.PutValue() — перевантаження приймають string, int, double,
decimal, bool та DateTime. Читайте значення назад через Cell.Value, Cell.StringValue, та
Cell.Formula. Встановлюйте формули Excel за допомогою властивості Cell.Formula; рядок формули
зберігається при збереженні і витримує цикл перезавантаження.
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);
Стилізація клітинок
Застосуйте Style об’єкти для керування шрифтом, заливкою, межами, форматом чисел та вирівнюванням.
Отримайте поточний стиль за допомогою Cell.GetStyle(), змініть його, а потім зафіксуйте за допомогоюCell.SetStyle(). Для заливок фону встановіть Style.Pattern = FillPattern.Solid і призначтеColor до Style.ForegroundColor. Використовуйте Cells.Merge() для об’єднання діапазонів клітинок.
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}");
Умовне форматування
Прикріпіть правила умовного форматування до діапазонів клітинок за допомогою ConditionalFormattingCollection.
Правила підтримують FormatConditionType.CellValue, Expression, ColorScale, DataBar, іIconSet. Використовуйте OperatorType для вказання операторів порівняння (Between, Equal,GreaterThan тощо), призначте Style відповідним клітинкам і налаштуйте пріоритет та
поведінку stop‑if‑true для кожного правила.
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");
Перевірка даних
Додайте обмеження вводу до клітинок за допомогою Worksheet.Validations. Підтримувані типи перевірки включають ValidationType.List, Decimal, Custom та інші. Налаштуйте підказки вводу (InputTitle, InputMessage) та повідомлення про помилки (ErrorTitle, ErrorMessage, ValidationAlertType). Використовуйте CellArea.CreateCellArea() для визначення діапазону перевірки та Validation.AddArea() для застосування правила до додаткових діапазонів.
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");
Налаштування сторінки та параметри друку
Налаштуйте макет друку за допомогою Worksheet.PageSetup. Встановіть поля (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, масштаб, область друку, рядки та стовпці заголовків, колонтитули та розриви сторінок. Усі налаштування зберігаються під час збереження‑завантаження.
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");
Налаштування та захист листа
Керуйте відображенням окремих листів за допомогою Worksheet.ShowGridlines, ShowRowColumnHeaders,
ShowZeros, RightToLeft, Zoom та TabColor. Захищайте листи за допомогою Worksheet.Protect()
і налаштовуйте детальні прапорці Protection (Objects, FormatCells, InsertRows,
AutoFilter, SelectLockedCells). Керуйте висотою рядка, шириною стовпця, прихованими рядками/стовпцями та
об’єднаними ділянками за допомогою Cells.Rows, Cells.Columns та 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");
Гіперпосилання та іменовані діапазони
Додайте зовнішні, внутрішні та mailto: гіперпосилання за допомогою HyperlinkCollection.Add().
Встановіть Hyperlink.TextToDisplay і Hyperlink.ScreenTip для видимих користувачем міток.
Визначте іменовані
діапазони у межах книги або листа за допомогою DefinedNameCollection.Add() — іменовані діапазони слугують стабільними якорями формул і джерелами даних діаграм, які зберігаються після перезавантаження файлу.
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);
Швидкий старт
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");
Підтримувані формати
| Формат | Розширення | Читати | Запис |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (various) | ✓ | — |
Open Source та ліцензування
Aspose.Cells FOSS for .NET опубліковано під ліцензією MIT і розповсюджується через NuGet як
Aspose.Cells_FOSS. Воно підходить як для проєктів з відкритим кодом, так і для комерційних проєктів.