Функции

Функции

Aspose.Cells FOSS for .NET е чисто управлявана .NET библиотека за създаване, четене и модифициране на Excel XLSX електронни таблици. Входната точка е класът Workbook, който предоставя достъп до работни листове, дефинирани имена и операции за запазване/зареждане. Тази страница обобщава всяка основна област на функционалност с кратки примерни кодове.


Workbook Създаване, Зареждане и Запис

Създайте нова работна книга с new Workbook(). Заредете съществуващ файл XLSX, като предадете път към файла на конструктора. Използвайте LoadOptions, за да активирате устойчиво към грешки зареждане. Извикайте Workbook.Save(path), за да запазите промените.

using Aspose.Cells_FOSS;

// New workbook
var wb = new Workbook();
wb.Worksheets[0].Cells["A1"].PutValue("Hello");
wb.Save("output.xlsx");

// Load with repair options
var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
try
{
    var loaded = new Workbook("input.xlsx", opts);
    Console.WriteLine(loaded.Worksheets[0].Cells["A1"].StringValue);
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Load failed: " + ex.Message);
}

Данни в клетки и формули

Използвайте Cell.PutValue() за записване на низове, цели числа, десетични числа, булеви стойности и DateTime стойности. Задайте Cell.Formula, за да присвоите низ с формула, съвместима с Excel. Прочетете обратно показания текст чрез Cell.StringValue и суровата стойност чрез Cell.Value.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Qty");
ws.Cells["B1"].PutValue("Price");
ws.Cells["C1"].PutValue("Total");
ws.Cells["A2"].PutValue(10);
ws.Cells["B2"].PutValue(4.99m);
ws.Cells["C2"].Formula = "=A2*B2";

wb.Save("data.xlsx");

var loaded = new Workbook("data.xlsx");
Console.WriteLine(loaded.Worksheets[0].Cells["C2"].StringValue); // 49.9

Стил на клетки

Извлечете и модифицирайте обекта Style за всяка клетка с Cell.GetStyle() и Cell.SetStyle(). Класът Style предоставя Font (удебелен, курсив, размер, име), ForegroundColor, Pattern (от тип FillPattern), HorizontalAlignment (използвайки HorizontalAlignmentType) и контрол на границите чрез Borders.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var cell = wb.Worksheets[0].Cells["A1"];
cell.PutValue("Styled Header");

var style = cell.GetStyle();
style.Font.Bold = true;
style.Font.Size = 14;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = System.Drawing.Color.FromArgb(255, 198, 239, 206);
style.HorizontalAlignment = HorizontalAlignmentType.Center;
cell.SetStyle(style);

wb.Save("styled.xlsx");

Условно форматиране

Worksheet.ConditionalFormattings връща ConditionalFormattingCollection. Извикайте Add(), за да създадете набор от правила, след това AddCondition(), за да добавите правила, използвайки FormatConditionType и OperatorType. Поддържаните типове условия включват CellValue, Expression, ColorScale, DataBar и IconSet.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 10; i++)
    ws.Cells[i, 0].PutValue(i + 1);

var ruleSet = ws.ConditionalFormattings[ws.ConditionalFormattings.Add()];
ruleSet.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = ruleSet[ruleSet.AddCondition(FormatConditionType.CellValue, OperatorType.Between, "3", "7")];
var ruleStyle = rule.Style;
ruleStyle.Pattern = FillPattern.Solid;
ruleStyle.ForegroundColor = System.Drawing.Color.FromArgb(255, 255, 199, 206);
rule.Style = ruleStyle;

wb.Save("cf.xlsx");

Валидация на данни

Worksheet.Validations връща ValidationCollection. Извикайте Add(CellArea), за да създадете Validation за диапазон от клетки. Задайте свойството Type, използвайки ValidationType (List, Decimal или Custom). Конфигурирайте Formula1, Formula2, Operator, InputTitle, InputMessage, ErrorTitle и ErrorMessage.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

var listVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A1", "A10"))];
listVal.Type = ValidationType.List;
listVal.Formula1 = "\"Open,Closed,Pending\"";
listVal.InCellDropDown = true;

var numVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("B1", "B10"))];
numVal.Type = ValidationType.Decimal;
numVal.Operator = OperatorType.Between;
numVal.Formula1 = "0";
numVal.Formula2 = "100";
numVal.ShowError = true;

wb.Save("validation.xlsx");

Автофилтър

Worksheet.AutoFilter разкрива обекта AutoFilter. Задайте AutoFilter.Range, за да определите диапазона на реда с заглавия. Достъпете AutoFilter.FilterColumns (FilterColumnCollection) и извикайте Add(columnIndex), за да активирате филтриране на конкретна колона.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Name");
ws.Cells["B1"].PutValue("Region");
ws.Cells["C1"].PutValue("Sales");
ws.Cells["A2"].PutValue("Alice"); ws.Cells["B2"].PutValue("North"); ws.Cells["C2"].PutValue(1200);

ws.AutoFilter.Range = "A1:C1";
ws.AutoFilter.FilterColumns.Add(1);

wb.Save("filter.xlsx");

Хипервръзки и дефинирани имена

Worksheet.Hyperlinks е HyperlinkCollection. Извикайте Add(), за да вмъкнете външни URL адреси, вътрешни препратки към клетки или mailto връзки. Задайте Hyperlink.TextToDisplay и Hyperlink.ScreenTip за потребителски текст. Workbook.DefinedNames е DefinedNameCollection; извикайте Add(name, refersTo), за да създадете именувани диапазони.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells["A1"].PutValue("Docs");
var link = ws.Hyperlinks[ws.Hyperlinks.Add("A1", 1, 1, "https://docs.aspose.org/cells/net/")];
link.TextToDisplay = "Documentation";

wb.DefinedNames[wb.DefinedNames.Add("DataRange", "Sheet1!$A$1:$D$10")].Comment = "Main data range";

wb.Save("links.xlsx");

Настройки на страница

Worksheet.PageSetup контролира печатните полета, ориентацията, размера на хартията, печатната област, заглавните редове/колони, горните и долните колонтитули и прекъсванията на страницата. Използвайте PageOrientationType и PaperSizeType enums.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ps = wb.Worksheets[0].PageSetup;
ps.Orientation = PageOrientationType.Landscape;
ps.PaperSize = PaperSizeType.PaperA4;
ps.PrintArea = "$A$1:$H$50";
ps.CenterHeader = "My Report";
ps.CenterHorizontally = true;
ps.AddHorizontalPageBreak(25);

wb.Save("paged.xlsx");

Управление на работни листове

Добавяйте, преименувайте, скривайте и пренареждайте работни листове чрез WorksheetCollection. WorksheetCollection.Add(name) връща индекса на новия лист. Задайте Worksheet.VisibilityType чрез VisibilityType. Слейте клетки с Cells.Merge() и контролирайте размера на редовете/колоните чрез Cells.Rows и Cells.Columns.

using Aspose.Cells_FOSS;

var wb = new Workbook();
wb.Worksheets[0].Name = "Summary";
var dataIdx = wb.Worksheets.Add("Data");
wb.Worksheets[dataIdx].VisibilityType = VisibilityType.Hidden;
wb.Worksheets.ActiveSheetName = "Summary";

var ws = wb.Worksheets["Summary"];
ws.Cells["A1"].PutValue("Title");
ws.Cells.Merge(0, 0, 1, 4);
ws.Cells.Rows[0].Height = 30d;
ws.Cells.Columns[0].Width = 20d;

wb.Save("worksheets.xlsx");

Съвети и най‑добри практики

  • Винаги улавяйте WorkbookLoadException при зареждане на файлове от пътища, предоставени от потребителя.
  • Използвайте Cell.PutValue() с точния .NET тип, който възнамерявате да съхранявате — предайте decimal за валута, DateTime за дати.
  • Прочетете Cell.StringValue за текст за показване; използвайте Cell.Value когато ви е необходим суровият .NET обект.
  • Създавайте набори от правила за условно форматиране върху най-широкия диапазон, който ви е необходим — правилата за всеки ред са скъпи в големи листове.
  • Извикайте wb.Save() веднъж в края, вместо след всяко записване на клетка.

Чести проблеми

ПроблемПричинаКорекция
WorkbookLoadException при отварянеПовредена ZIP структура в XLSXЗадайте LoadOptions.TryRepairPackage = true
Формулата връща празен StringValueФормулата не се преизчислява при зарежданеДостъп до Cell.StringValue след Workbook.Save() цикъл
Адресът на хипервръзката показва суров URLTextToDisplay не е зададенЗадайте Hyperlink.TextToDisplay след Add()
Разделът на листа не е видимVisibilityType зададено на HiddenЗадайте ws.VisibilityType = VisibilityType.Visible

FAQ

Изисква ли Aspose.Cells FOSS за .NET Microsoft Office?

Не. Библиотеката е чисто управляван код без зависимост от Office, Excel или COM interop.

Кои файлови формати се поддържат?

XLSX (четене и писане). CSV, ODS, PDF и бинарен XLS не се поддържат в това издание.

Мога ли да използвам тази библиотека в комерсиално приложение?

Да. Aspose.Cells FOSS е публикуван под MIT License, който позволява неограничено комерсиално използване без royalties.

Каква е минималната версия на .NET?

.NET 6.0 или по-ново.

Как да приложа цвят на фона към клетка?

Задайте style.Pattern = FillPattern.Solid и style.ForegroundColor = System.Drawing.Color.FromArgb(...), след това извикайте cell.SetStyle(style).


Обобщение на API справката

Class / MethodDescription
WorkbookГлавен клас — създаване, зареждане и запазване на работни книги
Workbook.WorksheetsВръща WorksheetCollection
Workbook.Save(path)Записва работната книга на диск
Workbook.DefinedNamesКолекция от именувани диапазони
Worksheet.CellsДостъп до мрежата от клетки
Worksheet.ConditionalFormattingsНабори от правила за условно форматиране
Worksheet.ValidationsПравила за проверка на данни
Worksheet.AutoFilterКонфигурация на автоматичния филтър
Worksheet.HyperlinksКолекция от хипервръзки
Worksheet.PageSetupНастройки за печатен изглед
Cell.PutValue()Записване на типизирани данни в клетки
Cell.FormulaФормула, съвместима с Excel, като низ
Cell.GetStyle() / Cell.SetStyle()Четене/запис на стил на клетка
Style.PatternШаблон за запълване (enum FillPattern)
Style.HorizontalAlignmentПодравняване на клетка (HorizontalAlignmentType)
LoadOptionsОпции за устойчиво към грешки зареждане на файлове
 Български