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.