Introdução
Aspose.Cells FOSS for .NET é uma biblioteca de código gerenciado puro, licenciada sob MIT, para leitura, gravação,
e manipulação de pastas de trabalho Excel .xlsx sem qualquer dependência do Microsoft Office. Instalado como
o Aspose.Cells_FOSS pacote NuGet, ele se integra a qualquer projeto .NET — aplicativos de console, web
APIs, workers em segundo plano e funções sem servidor.
Esta postagem fornece um passo a passo recurso por recurso da API pública, mostrando o que é possível e como invocar cada capacidade a partir do código C#.
Visão geral do recurso
Ciclo de Vida da Pasta de Trabalho e da Planilha
O ponto de entrada para cada operação é a classe Workbook. Construa uma do zero com new Workbook(), ou carregue uma .xlsx existente com new Workbook(filePath) ou new Workbook(stream). Navegue pelas planilhas via Workbook.Worksheets, defina Worksheet.Name e Worksheet.VisibilityType, e persista com Workbook.Save(). Para arquivos danificados, passe uma instância LoadOptions com TryRepairPackage = true e 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);
}
Dados da Célula e Fórmulas
Escreva valores nas células com Cell.PutValue() — sobrecargas aceitam string, int, double,
decimal, bool e DateTime. Leia os valores de volta via Cell.Value, Cell.StringValue e
Cell.Formula. Defina fórmulas do Excel com a propriedade Cell.Formula; a string da fórmula é
preservada ao salvar e sobrevive a um ciclo de recarregamento.
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);
Estilização de Células
Aplicar objetos Style para controlar fonte, preenchimento, bordas, formato numérico e alinhamento.
Recuperar o estilo atual com Cell.GetStyle(), modificá‑lo e, em seguida, confirmar comCell.SetStyle(). Para preenchimentos de fundo, definir Style.Pattern = FillPattern.Solid e atribuir umColor a Style.ForegroundColor. Use Cells.Merge() para abranger intervalos de células.
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}");
Formatação Condicional
Anexe regras de formatação condicional a intervalos de células via ConditionalFormattingCollection.
As regras suportam FormatConditionType.CellValue, Expression, ColorScale, DataBar, eIconSet. Use OperatorType para especificar operadores de comparação (Between, Equal,GreaterThan, etc.), atribua um Style às células correspondentes e configure a prioridade e
o comportamento stop-if-true por regra.
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");
Validação de Dados
Adicione restrições de entrada às células usando Worksheet.Validations. Tipos de validação suportados incluem ValidationType.List, Decimal, Custom e mais. Configure prompts de entrada (InputTitle, InputMessage) e mensagens de erro (ErrorTitle, ErrorMessage, ValidationAlertType). Use CellArea.CreateCellArea() para definir o intervalo validado e Validation.AddArea() para aplicar uma regra a intervalos adicionais.
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");
Configuração de Página e Opções de Impressão
Configure o layout de impressão via Worksheet.PageSetup. Defina as margens (LeftMarginInch, RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, escala, área de impressão, linhas e colunas de título, cabeçalhos e rodapés e quebras de página. Todas as configurações sobrevivem a uma rodada de salvar‑carregar.
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");
Configurações e Proteção da Planilha
Controle a exibição por planilha com Worksheet.ShowGridlines, ShowRowColumnHeaders,
ShowZeros, RightToLeft, Zoom e TabColor. Proteja planilhas com Worksheet.Protect()
e configure flags granulares Protection (Objects, FormatCells, InsertRows,
AutoFilter, SelectLockedCells). Gerencie a altura das linhas, a largura das colunas, linhas/colunas ocultas e
regiões mescladas via Cells.Rows, Cells.Columns e 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");
Hiperenlaces e Intervalos Nomeados
Adicione hyperlinks externos, internos e mailto: via HyperlinkCollection.Add(). Defina
Hyperlink.TextToDisplay e Hyperlink.ScreenTip para rótulos visíveis ao usuário. Defina intervalos
nomeados no escopo da pasta de trabalho ou da planilha usando DefinedNameCollection.Add() — intervalos nomeados servem como âncoras de fórmula estáveis e fontes de dados de gráfico que sobrevivem ao recarregamento do arquivo.
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);
Início Rápido
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");
Formatos Compatíveis
| Formato | Extensão | Ler | Gravar |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (various) | ✓ | — |
Código Aberto e Licenciamento
Aspose.Cells FOSS for .NET é publicado sob a licença MIT e distribuído via NuGet como
Aspose.Cells_FOSS. É adequado para projetos de código aberto e comerciais igualmente.