Особенности

Особенности

Aspose.Cells FOSS for .NET is a pure managed .NET library for creating, reading, and modifying Excel XLSX spreadsheets. The entry point is the 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 = Color.FromArgb(255, 198, 239, 206);
style.HorizontalAlignment = HorizontalAlignmentType.Center;
cell.SetStyle(style);

wb.Save("styled.xlsx");

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

Worksheet.ConditionalFormattings возвращает a 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 = Color.FromArgb(255, 255, 199, 206);
rule.Style = ruleStyle;

wb.Save("cf.xlsx");

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

Worksheet.Validations возвращает a 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 для определения диапазона строки заголовка. Access AutoFilter.FilterColumns (сбор) и призыв к 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 - Я не знаю.

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, которую вы собираетесь хранить pass decimal для валюты, DateTime на свиданиях.
  • Читайте . Cell.StringValue для отображения текста; использование Cell.Value когда вам нужен необработанный объект .NET.
  • Создать наборы правил форматирования на условиях в самом широком диапазоне, который вам нужен правила за ряд дорогостоящие для больших листов.
  • Позвони . wb.Save() один раз в конце, а не после каждой ячейки написать.

Общие проблемы

ВыпускПричина .Устранить
WorkbookLoadException открытыйКоррумпированная структура ZIP в XLSXНабор LoadOptions.TryRepairPackage = true
Формула возвращается пустой . StringValueФормула не пересчитывается по нагрузке.Доступ к ним Cell.StringValue после Workbook.Save() обратный путь
Адрес гиперссылки показывает необработанный URL-адресTextToDisplay не установленныйНабор Hyperlink.TextToDisplay после Add()
Вкладка не видна в рабочем листеVisibilityType настроить на: HiddenНабор ws.VisibilityType = VisibilityType.Visible

FAQ

Требуется ли для Aspose.Cells FOSS в .NET Microsoft Office?

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

Какие форматы файлов поддерживаются?

XLSX (читать и писать). CSV, ODS, PDF и бинарные XSL не поддерживаются в этом выпуске.

Могу ли я использовать эту библиотеку в коммерческом приложении?

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

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

.NET 6.0 или более поздней версии.

Как я наношу цвет фона в ячейку?

Набор style.Pattern = FillPattern.Solid и в том числе: style.ForegroundColor = Color.FromArgb(...), тогда позвони . cell.SetStyle(style).


Справочное резюме API

Класс / методОписание:
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Описание заполнения (FillPattern (включая)
Style.HorizontalAlignmentВыстраивание ячеек (HorizontalAlignmentType)
LoadOptionsВарианты загрузки файлов с допустимой погрешностью
 Русский