Casos de uso de Aspose.Cells FOSS para .NET

Casos de uso de Aspose.Cells FOSS para .NET

Aspose.Cells FOSS for .NET es una biblioteca .NET totalmente administrada que lee y escribe archivos XLSX sin requerir Microsoft Office ni dependencias externas. Los siguientes casos de uso ilustran dónde encaja la biblioteca en aplicaciones .NET del mundo real.


Generación de informes

Genere informes XLSX de forma programática en aplicaciones del lado del servidor o por lotes. Use Workbook, Worksheet y Cell.PutValue() para escribir datos estructurados, luego llame a Workbook.Save() para producir el archivo.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];
ws.Name = "Monthly Report";

ws.Cells["A1"].PutValue("Product");
ws.Cells["B1"].PutValue("Revenue");

ws.Cells["A2"].PutValue("Widget A");
ws.Cells["B2"].PutValue(12500.00m);

ws.Cells["A3"].PutValue("Widget B");
ws.Cells["B3"].PutValue(8750.00m);

ws.Cells["B4"].Formula = "=SUM(B2:B3)";

wb.Save("monthly-report.xlsx");

Este patrón escala a cualquier número de filas y puede ser impulsado por datos de una base de datos o respuesta de API.


Procesando Hojas de Cálculo Cargadas

Leer y validar archivos XLSX enviados por los usuarios a través de un formulario web o un punto final de API. El constructor Workbook acepta un Stream, por lo que no es necesario escribir un archivo temporal en el disco.

using Aspose.Cells_FOSS;

// IFormFile from ASP.NET Core controller
public async Task<IActionResult> Upload(IFormFile file)
{
    using var stream = file.OpenReadStream();
    var opts = new LoadOptions { TryRepairPackage = true };
    var wb = new Workbook(stream, opts);

    var ws = wb.Worksheets[0];
    var firstRow = ws.Cells["A1"].StringValue;
    // ... validate and process rows

    return Ok(new { sheets = wb.Worksheets.Count, firstCell = firstRow });
}

Utilice LoadDiagnostics.HasRepairs para detectar archivos que requirieron reparación estructural y presentar esa información a los usuarios.


Extracción de la canalización de datos

Extraiga datos de celdas de exportaciones XLSX producidas por sistemas de terceros y alimente los valores en una base de datos o servicio descendente. Lea los valores de las celdas mediante Cell.StringValue y Cell.Value usando coordenadas de fila y columna.

using Aspose.Cells_FOSS;

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

var records = new List<(string sku, double qty)>();
for (int row = 1; row <= 100; row++) // iterate known data range
{
    var sku = ws.Cells[row, 0].StringValue;
    if (string.IsNullOrEmpty(sku)) break;
    var qty = (double)ws.Cells[row, 1].Value;
    records.Add((sku, qty));
}

Console.WriteLine($"Extracted {records.Count} records");

Aplicando la validación de datos antes de guardar

Agregue reglas de validación de lista desplegable o de rango antes de entregar una plantilla XLSX a los usuarios finales, asegurándose de que solo ingresen valores aceptables.

using Aspose.Cells_FOSS;

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

// Status column: dropdown
var statusVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("A2", "A100"))];
statusVal.Type = ValidationType.List;
statusVal.Formula1 = "\"Open,In Progress,Closed\"";
statusVal.InCellDropDown = true;

// Score column: 0–10 decimal range
var scoreVal = ws.Validations[ws.Validations.Add(CellArea.CreateCellArea("B2", "B100"))];
scoreVal.Type = ValidationType.Decimal;
scoreVal.Operator = OperatorType.Between;
scoreVal.Formula1 = "0";
scoreVal.Formula2 = "10";
scoreVal.ShowError = true;

wb.Save("template-with-validation.xlsx");

Estilizando la salida para mayor legibilidad

Aplica estilos de celda — fuentes, colores de relleno, formatos numéricos, bordes — para producir una salida pulida. Crea una instancia de Style directamente, configura sus propiedades y aplícala con Cell.SetStyle().

using Aspose.Cells_FOSS;

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

// Header style
var headerStyle = new Style();
headerStyle.Font.IsBold = true;
headerStyle.Font.Size = 12;
headerStyle.ForegroundColor = System.Drawing.Color.FromArgb(0x4F, 0x81, 0xBD);
headerStyle.Pattern = FillPattern.Solid;

ws.Cells["A1"].PutValue("Name");
ws.Cells["B1"].PutValue("Score");
ws.Cells["A1"].SetStyle(headerStyle);
ws.Cells["B1"].SetStyle(headerStyle);

// Number format for score column
var numStyle = new Style();
numStyle.Custom = "0.00";
ws.Cells["B2"].SetStyle(numStyle);
ws.Cells["B2"].PutValue(98.5m);

wb.Save("styled-report.xlsx");

Ver también

 Español