Випадки використання Aspose.Cells FOSS для .NET

Випадки використання 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");

Дивіться також

 Українська