Aspose.Words Procesador de Archivos XLSX para .NET

El Aspose.Words XLSX Procesador de archivos para .NET le permite crear, abrir, modificar y guardar los libros de trabajo XLSX en todo código gestionado. Construido en un subset simplificado del motor de Asposa.Cells y diseñado para integrarse con el pipeline de conversión de la palabra Aspose, proporciona una generación/editación de Excel de alto rendimiento para aplicaciones de servidor, herramientas de escritorio y servicios en la nube** sin automatización de Office**.

Focalizado en XLSX: tablas de trabajo, células, estilos, fórmulas y gráficos, datos de importación/exportación, validación y protección.

Instalación y configuración

  • Instalar el paquete NuGet Aspose.Words (y el plugin del procesador de archivos XLSX, si distribuido por separado).
  • Aplique su licencia en la startup de aplicación para eliminar los límites de evaluación: ver Metered Licensing .
  • Para los objetivos de marco y la guía de implementación, vea Instalación .

Este plugin utiliza un motor de Excel cortado internamente y no requiere Microsoft Excel.

Las plataformas compatibles son: Windows, Linux, macOS (.NET Framework, .NET Core y Mono).Runtime: x64/x86; entorno de servidor y escritorio.

Inicio rápido: Crear y guardar un XLSX

using Aspose.Cells; // Engine behind the plugin

// 1) Create a workbook with one worksheet
var wb = new Workbook();
Worksheet sheet = wb.Worksheets[0];
sheet.Name = "Report";

// 2) Populate header + data
sheet.Cells["A1"].PutValue("Product");
sheet.Cells["B1"].PutValue("Qty");
sheet.Cells["C1"].PutValue("Price");
sheet.Cells["D1"].PutValue("Total");

sheet.Cells["A2"].PutValue("Keyboard");
sheet.Cells["B2"].PutValue(12);
sheet.Cells["C2"].PutValue(39.99);
sheet.Cells["D2"].Formula = "=B2*C2";

// 3) Style header
var style = wb.CreateStyle();
style.Font.IsBold = true;
style.ForegroundColor = System.Drawing.Color.AliceBlue;
style.Pattern = BackgroundType.Solid;
var flags = new StyleFlag { FontBold = true, CellShading = true };
sheet.Cells.CreateRange("A1", "D1").ApplyStyle(style, flags);

// 4) Auto-fit and save
sheet.AutoFitColumns();
wb.Save("Report.xlsx", SaveFormat.Xlsx);

Cargar, editar y recalcular

using Aspose.Cells;

var load = new LoadOptions(LoadFormat.Xlsx);
using var fs = File.OpenRead("Input.xlsx");
var wb = new Workbook(fs, load);

// Update a value and a formula
Worksheet ws = wb.Worksheets["Summary"] ?? wb.Worksheets[0];
ws.Cells["B5"].PutValue(1250);            // new revenue
ws.Cells["B6"].Formula = "=B5*0.18";     // tax 18%

// Calculate formulas only for this sheet to save time
var calcOpts = new CalculationOptions { CalcStackSize = 2000 };
wb.CalculateFormula(calcOpts);

wb.Save("Updated.xlsx", SaveFormat.Xlsx);

Importación de datos (DataTable → hoja de trabajo)

using System.Data;
using Aspose.Cells;

DataTable dt = GetData(); // your source
var wb = new Workbook();
var ws = wb.Worksheets[0];

ws.Cells.ImportDataTable(dt, isFieldNameShown: true, firstRow: 0, firstColumn: 0, insertRows: true);
ws.AutoFitColumns();

wb.Save("DataImport.xlsx", SaveFormat.Xlsx);

Insertar un gráfico (Bunded to Data)

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

// Sample data
ws.Cells["A1"].PutValue("Month");
ws.Cells["B1"].PutValue("Sales");
string[] months = {"Jan","Feb","Mar","Apr"};
int[] sales = {120, 150, 170, 190};
for (int i = 0; i < months.Length; i++) { ws.Cells[i+1,0].PutValue(months[i]); ws.Cells[i+1,1].PutValue(sales[i]); }

// Add chart
int idx = ws.Charts.Add(ChartType.Column, 6, 0, 20, 8);
Chart chart = ws.Charts[idx];
chart.Title.Text = "Monthly Sales";
chart.NSeries.Add("B2:B5", true);
chart.NSeries.CategoryData = "A2:A5";

wb.Save("Chart.xlsx", SaveFormat.Xlsx);

Agregar la validación de datos y proteger una hoja

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

// Allow only whole numbers between 1 and 100 in B2:B100
Validation v = ws.Validations[ws.Validations.Add()];
v.Type = ValidationType.WholeNumber;
v.Operator = OperatorType.Between;
v.Formula1 = "1";
v.Formula2 = "100";
CellArea area = CellArea.CreateCellArea("B2", "B100");
v.AddArea(area);

// Protect sheet but allow editing unlocked cells
ws.Protection = new Protection { AllowEditingContent = true };
wb.Save("Validated.xlsx", SaveFormat.Xlsx);

Características y Funcionalidad

Libro de trabajo Creación y carga

  • Nuevos libros de trabajo con hojas y estilos predefinidos.
  • Carga XLSX desde file/stream/byte[] con un robusto informe de error.
  • Detectar paquetes protegidos por contraseñas y estructuras invalidas.

Taller de gestión

  • Adicionar/clone/delete/move tablas de trabajo; ocultar/unhide tabs.
  • Dirección por index o nombre.

Células y Ranges

  • Leer / escribir líneas, números, fechas, booleanos.
  • Bulk operaciones por encima de las ramas para un alto rendimiento.
  • Ahorra los datos apoyados sin explotar el tamaño del archivo.

Estilo y Formato

  • Formatos de número y máscaras de fecha/hora personalizadas.
  • Fontes, rellenos, fronteras; estilos nombrados para reutilización.
  • Reglas de formatación condicional.

Formulas y recalculacin

  • Todas las funciones comunes de Excel (SUM, AVERAGE, VLOOKUP, IF, etc.).
  • Recalculación de hoja-escopada o libro de trabajo completo para el rendimiento.
  • Acceso a valores cache y fresco calculados.

Cartas y gráficos

  • Columna/Bar/Line/Pie/Area/Scatter gráficos.
  • Configure títulos, ases, leyendas, estilos de serie.
  • Insertar imágenes (PNG/JPEG/BMP) con control de posición y tamaño.

Import/Exportación de datos

  • Importación desde DataTable , arrays, o IEnumerable<T>.
  • Las exportaciones van de vuelta a DataTable/colecciones.
  • Save El CSV para el intercambio de datos ligeros.

Validación y Protección

  • Lista / número / fecha / reglas de validación personalizadas.
  • Protección de la hoja de trabajo con bloqueos selectivos y contraseñas.

El rendimiento y la memoria

  • Escribe en streaming, actualizaciones batidas, memoria predecible.
  • Modo manual de calc durante las operaciones en masa.
  • Disponible de forma rápida (utilizar using) a los recursos libres.

Consejos y mejores prácticas

  • Batch escribe a rangos contiguos; evita los golpes de células por célula cuando sea posible.
  • Reutilizar los estilos ** nombrados** para reducir la duplicación del estilo.
  • Configure el modo de cálculo ** en Manual** durante las grandes importaciones, recalcando una vez al final.
  • Validar las entradas antes de escribir para evitar excepciones.
  • Comprimir grandes imágenes antes de la inserción para mantener los archivos suaves.
  • Cerrar/disponer libros de trabajo para flush y recursos libres.
  • Cuando sólo necesitas valores, prefiere resultados cajados para escapar de la recalculacin.

FAQ

**Necesito instalar Excel?**No. El motor es totalmente controlado y sin cabeza.

**Qué formatos puedo leer/escribir?**Este procesador se centra en XLSX . Para formatos Excel más amplios (X LS, ODS) use el producto completo Aspose.Cells.

**Puedo calcular las fórmulas del servidor?**Sí, el uso Workbook.CalculateFormula Opciones para el rendimiento.

**Cuáles son los límites de Excel?**XLSX soporta hasta 1,048,576 líneas × 16,384 columnas por hoja de trabajo.

**Cómo se relaciona esto con Aspose.Words?**Se integra en los tubos centrados en Words (por ejemplo, convertir Word→XLSX o añadir salidas XLSX) mientras se basa en un motor de Excel cortado internamente.

 Español