Въведение

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(различни)

Отворен код и лицензиране

Aspose.Cells FOSS за .NET е публикуван под MIT лиценз и разпространяван чрез NuGet като
Aspose.Cells_FOSS. Подходящ е както за проекти с отворен код, така и за комерсиални проекти.


Започване

Свързани ресурси