Características

Características

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 clase, que proporciona acceso a las hojas de trabajo, nombres definidos y operaciones de almacenamiento/carga. Esta página resume cada área principal con breves ejemplos de código.


Libro de trabajo Crea, carga y salva

Crea un nuevo libro de trabajo con new Workbook().Cargar un archivo XLSX existente al pasar una ruta de archivos al constructor. LoadOptions para permitir la carga tolerante de errores. llamado Workbook.Save(path) para persistir los cambios.

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);
}

Datos y fórmulas de la célula

Uso Cell.PutValue() para escribir líneas, integers, decimales, booleanos y DateTime Valor de la.SET Cell.Formula para asignar una fila de fórmula compatible con Excel. Leer el texto de la muestra a través del Cell.StringValue El valor cru por medio de 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

Células de estilo

Recuperar y modificar el Style Objetos para cualquier célula con Cell.GetStyle() y Cell.SetStyle().El Style La clase ofrece Font (Bold, italiano, tamaño y nombre), ForegroundColor, Pattern (de tipo de FillPattern), HorizontalAlignment (Utilizar HorizontalAlignmentTypey el control fronterizo a través de 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");

Formato Condicional

Worksheet.ConditionalFormattings Volver a ConditionalFormattingCollection.llamadas Add() para crear una regla establecida, y luego AddCondition() Para añadir las reglas de uso FormatConditionType y OperatorType.Los tipos de condiciones apoyados incluyen CellValue, Expression, ColorScale, DataBar,y, 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");

Validación de datos

Worksheet.Validations Volver a ValidationCollection.llamadas Add(CellArea) Para crear una Validation para una gama de células.Sit el Type Propiedad Utilizando ValidationType (List, Decimal,o CustomConfiguración Formula1, Formula2, Operator, InputTitle, InputMessage, ErrorTitle,y, 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");

Autofiltración

Worksheet.AutoFilter Exponemos el AutoFilter Objeto: Sitio AutoFilter.Range para definir el rango de la línea del título. Acceso AutoFilter.FilterColumns (una colección) y llamadas Add(columnIndex) para activar la filtración en una columna específica.

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");

Hiperlinks y nombres definidos

Worksheet.Hyperlinks Es una HyperlinkCollection.llamadas Add() para insertar URL externos, referencias de células internas o enlaces mailto. Hyperlink.TextToDisplay y Hyperlink.ScreenTip para el texto de uso. Workbook.DefinedNames Es una DefinedNameCollection;· llamadas Add(name, refersTo) Crear los nombres de rango.

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");

Página de configuración

Worksheet.PageSetup controles margen de impresión, orientación, tamaño del papel, área de impreso, líneas/columnas de título, cabezas, pies y brechas de página. PageOrientationType y PaperSizeType En los enumeros.

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");

Gestión de Taller

Adicionar, renomear, ocultar y reordenar las hojas de trabajo a través del WorksheetCollection. WorksheetCollection.Add(name) devolver el índice de la nueva hoja. Worksheet.VisibilityType Utilizando VisibilityType.-Mejorar las células con Cells.Merge() y control de la línea/columna de tamaño a través de Cells.Rows y 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");

Consejos y mejores prácticas

  • Siempre capturar WorkbookLoadException cuando carga archivos de los caminos proporcionados por el usuario.
  • Uso Cell.PutValue() con el tipo .NET exacto que intenta almacenar - pasar decimal por la moneda, DateTime por las fechas.
  • Leer Cell.StringValue para el texto de la muestra; uso Cell.Value Cuando necesitas el objeto .NET.
  • Crea los setes de reglas de formatación condicional en la gama más amplia que necesitas - las regles por ronda son caras en grandes hojas.
  • llamadas wb.Save() Una vez al final, en lugar de después de cada célula escribir.

Problemas comunes

ProblemasCausasFixado
WorkbookLoadException En el abiertoCorrupción de la estructura ZIP en XLSXSitio LoadOptions.TryRepairPackage = true
La fórmula vuelve vacía StringValueFormulario no recalculado en cargaAcceso Cell.StringValue Después de Workbook.Save() Rondas de viaje
El URL de Hyperlink muestra la URL crudaTextToDisplay No se estableceSitio Hyperlink.TextToDisplay Después de Add()
Tabla de trabajo no visibleVisibilityType Sete a HiddenSitio ws.VisibilityType = VisibilityType.Visible

FAQ

¿Es Aspose.Cells FOSS para .NET necesario Microsoft Office?

No. La biblioteca es un código gestionado puro sin dependencia de Office, Excel o COM interop.

¿Qué formatos de archivo se apoyan?

CSV, ODS, PDF y XLS binarios no se soportan en esta edición.

¿Puedo utilizar esta biblioteca en una aplicación comercial?

Sí. Aspose.Cells FOSS se publica bajo la Licencia MIT, que permite el uso comercial ilimitado sin royalties.

¿Cuál es la versión mínima de .NET?

.NET 6.0 o más tarde.

¿Cómo aplicar un color de fondo a una célula?

Sitio style.Pattern = FillPattern.Solid y style.ForegroundColor = Color.FromArgb(...),Y luego llamar cell.SetStyle(style).


Sumación de referencia API

Clase / MétodoDescripción
WorkbookClase de raíz: crear, cargar y salvar libros de trabajo
Workbook.WorksheetsDe vuelta la WorksheetCollection
Workbook.Save(path)Salva el libro de trabajo en disco
Workbook.DefinedNamesNombre de Rango Colección
Worksheet.CellsAcceso a la red celular
Worksheet.ConditionalFormattingsFormato Condicional Reglas de los sets
Worksheet.ValidationsReglas de validación de datos
Worksheet.AutoFilterConfiguración de filtros automáticos
Worksheet.HyperlinksColección de Hyperlink
Worksheet.PageSetupImpresión de layout
Cell.PutValue()Escribe datos de células tipadas
Cell.FormulaExcel-compatible fórmula string
Cell.GetStyle() / Cell.SetStyle()Leer/Escribir estilo celular
Style.PatternEl modelo de la (FillPattern Enum)
Style.HorizontalAlignmentEl alineamiento de la célula (HorizontalAlignmentType)
LoadOptionsOpciones para la carga de archivos tolerantes a errores

Ver también

 Español