Случаи на употреба за Aspose.Cells FOSS за .NET
Aspose.Cells FOSS for .NET е чисто управлявана .NET библиотека, която чете и записва XLSX файлове без да изисква Microsoft Office или каквито и да е външни зависимости. Следните случаи на използване илюстрират къде библиотеката се вписва в реални .NET приложения.
Генериране на отчет
Генерирайте XLSX отчети програмно в сървърни или пакетни приложения. Използвайте Workbook, Worksheet и Cell.PutValue() за записване на структурирани данни, след което извикайте Workbook.Save() за създаване на файла.
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");Този шаблон се мащабира за произволен брой редове и може да бъде захранван с данни от база данни или отговор от API.
Обработка на качени електронни таблици
Прочетете и валидирайте XLSX файлове, изпратени от потребители чрез уеб форма или API крайна точка. Конструкторът Workbook приема Stream, така че не е необходимо да се записва временен файл на диска.
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 });
}Използвайте LoadDiagnostics.HasRepairs за откриване на файлове, които изискват структурна поправка, и представяне на тази информация на потребителите.
Извличане на данни от конвейер
Извличайте данни от клетки от XLSX експорти, създадени от трети страни, и подавате стойностите в база данни или последваща услуга. Четете стойностите на клетките чрез Cell.StringValue и Cell.Value, използвайки координати на ред и колона.
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");Прилагане на валидация на данните преди запазване
Добавете правила за валидиране чрез падащо меню или диапазон преди да предоставите XLSX шаблон на крайните потребители, като гарантирате, че те попълват само приемливи стойности.
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");Стилово оформление за четимост
Прилагайте стилове на клетки — шрифтове, цветове на запълване, числови формати, граници — за да получите полирано изходно съдържание. Създайте директно екземпляр Style, конфигурирайте неговите свойства и го приложете с 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");