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.9Cé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
WorkbookLoadExceptioncuando carga archivos de los caminos proporcionados por el usuario. - Uso
Cell.PutValue()con el tipo .NET exacto que intenta almacenar - pasardecimalpor la moneda,DateTimepor las fechas. - Leer
Cell.StringValuepara el texto de la muestra; usoCell.ValueCuando 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
| Problemas | Causas | Fixado |
|---|---|---|
WorkbookLoadException En el abierto | Corrupción de la estructura ZIP en XLSX | Sitio LoadOptions.TryRepairPackage = true |
La fórmula vuelve vacía StringValue | Formulario no recalculado en carga | Acceso Cell.StringValue Después de Workbook.Save() Rondas de viaje |
| El URL de Hyperlink muestra la URL cruda | TextToDisplay No se establece | Sitio Hyperlink.TextToDisplay Después de Add() |
| Tabla de trabajo no visible | VisibilityType Sete a Hidden | Sitio 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étodo | Descripción |
|---|---|
Workbook | Clase de raíz: crear, cargar y salvar libros de trabajo |
Workbook.Worksheets | De vuelta la WorksheetCollection |
Workbook.Save(path) | Salva el libro de trabajo en disco |
Workbook.DefinedNames | Nombre de Rango Colección |
Worksheet.Cells | Acceso a la red celular |
Worksheet.ConditionalFormattings | Formato Condicional Reglas de los sets |
Worksheet.Validations | Reglas de validación de datos |
Worksheet.AutoFilter | Configuración de filtros automáticos |
Worksheet.Hyperlinks | Colección de Hyperlink |
Worksheet.PageSetup | Impresión de layout |
Cell.PutValue() | Escribe datos de células tipadas |
Cell.Formula | Excel-compatible fórmula string |
Cell.GetStyle() / Cell.SetStyle() | Leer/Escribir estilo celular |
Style.Pattern | El modelo de la (FillPattern Enum) |
Style.HorizontalAlignment | El alineamiento de la célula (HorizontalAlignmentType) |
LoadOptions | Opciones para la carga de archivos tolerantes a errores |