Use Cases para Aspose.Cells FOSS para .NET

Use Cases para Aspose.Cells FOSS para .NET

Aspose.Cells FOSS for .NET is a pure managed .NET library that reads and writes XLSX files without requiring Microsoft Office or any external dependencies. The following use cases illustrate where the library fits into real-world .NET applications.


Geração de relatórios

Gerar relatórios XLSX de forma programática em aplicações do lado do servidor ou batches. Use Workbook, Worksheet, e Cell.PutValue() para escrever dados estruturados, em seguida, chamar Workbook.Save() para produzir o ficheiro.

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 padrão se escala para qualquer número de linhas e pode ser conduzido por dados de um banco de dados ou resposta da API.


Processamento de planilhas carregadas

Leia e valide arquivos XLSX enviados por usuários através de um formulário da web ou endpoint API. Workbook O constructor aceita um Stream, portanto, nenhum arquivo temporário precisa ser escrito no 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 });
}

Utilização: LoadDiagnostics.HasRepairs Detetar ficheiros que necessitem de reparação estrutural e apresentar essas informações aos utilizadores.


Extração de dados por conduta

Extrair dados de células das exportações XLSX produzidas por sistemas de terceiros e introduzir valores em um banco de dados ou serviço a jusante. Ler os valores de célula via Cell.StringValue e a) Cell.Value utilizando coordenadas de linha e coluna.

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 a validação de dados antes da gravação

Adicionar regras de validação em lista suspensa ou para intervalos antes da entrega do modelo XLSX aos utilizadores finais, garantindo que estes preencham apenas valores aceitáveis.

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

Saúde de estilo para a legibilidade

Aplicar estilos de célula fontes, cores de preenchimento, formatos numéricos, bordas ?? para produzir uma saída polida. Criar um Style instância diretamente, configurar suas propriedades e aplicá-lo com o Cell.SetStyle().

using Aspose.Cells_FOSS;

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

// Header style
var headerStyle = new Style();
headerStyle.Font.Bold = true;
headerStyle.Font.Size = 12;
headerStyle.ForegroundColor = 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 também:

 Português