Kasus Penggunaan Aspose.Cells FOSS untuk .NET

Kasus Penggunaan Aspose.Cells FOSS untuk .NET

Aspose.Cells FOSS for .NET adalah perpustakaan .NET murni yang dikelola sepenuhnya yang dapat membaca dan menulis file XLSX tanpa memerlukan Microsoft Office atau ketergantungan eksternal apa pun. Kasus penggunaan berikut menggambarkan di mana perpustakaan ini cocok dalam aplikasi .NET dunia nyata.


Pembuatan Laporan

Buat laporan XLSX secara programatis di aplikasi sisi server atau batch. Gunakan Workbook, Worksheet, dan Cell.PutValue() untuk menulis data terstruktur, kemudian panggil Workbook.Save() untuk menghasilkan file.

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

Pola ini dapat diskalakan ke jumlah baris berapa pun dan dapat didorong oleh data dari basis data atau respons API.


Memproses Spreadsheet yang Diunggah

Baca dan validasi file XLSX yang dikirimkan oleh pengguna melalui formulir web atau endpoint API. Konstruktor Workbook menerima Stream, sehingga tidak perlu menulis file sementara ke disk.

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

Gunakan LoadDiagnostics.HasRepairs untuk mendeteksi file yang memerlukan perbaikan struktural dan menampilkan informasi tersebut kepada pengguna.


Ekstraksi Pipeline Data

Ekstrak data sel dari ekspor XLSX yang dihasilkan oleh sistem pihak ketiga dan masukkan nilai ke dalam basis data atau layanan hilir. Baca nilai sel melalui Cell.StringValue dan Cell.Value menggunakan koordinat baris dan kolom.

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

Menerapkan Validasi Data Sebelum Menyimpan

Tambahkan aturan validasi dropdown atau rentang sebelum mengirimkan templat XLSX kepada pengguna akhir, memastikan mereka mengisi hanya nilai yang dapat diterima.

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

Menata Output untuk Keterbacaan

Terapkan gaya sel — font, warna isi, format angka, batas — untuk menghasilkan output yang halus. Buat instance Style secara langsung, konfigurasikan propertinya, dan terapkan dengan 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");

Lihat Juga

 Bahasa Indonesia