Kes Penggunaan Aspose.Cells FOSS untuk .NET

Kes Penggunaan Aspose.Cells FOSS untuk .NET

Aspose.Cells FOSS for .NET ialah perpustakaan .NET yang diuruskan secara murni yang membaca dan menulis fail XLSX tanpa memerlukan Microsoft Office atau sebarang kebergantungan luaran. Kes penggunaan berikut menggambarkan di mana perpustakaan ini sesuai dalam aplikasi .NET dunia sebenar.


Penjanaan Laporan

Jana laporan XLSX secara programatik dalam aplikasi sisi‑pelayan atau batch. Gunakan Workbook, Worksheet, dan Cell.PutValue() untuk menulis data berstruktur, kemudian panggil Workbook.Save() untuk menghasilkan fail.

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

Corak ini boleh diskala kepada sebarang bilangan baris dan boleh dipacu oleh data daripada pangkalan data atau respons API.


Memproses Hamparan yang Dimuat Naik

Baca dan sahkan fail XLSX yang dihantar oleh pengguna melalui borang web atau titik akhir API. Konstruktor Workbook menerima Stream, jadi tiada fail sementara perlu ditulis ke cakera.

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 mengesan fail yang memerlukan pembaikan struktur dan memaparkan maklumat tersebut kepada pengguna.


Ekstraksi Saluran Data

Ekstrak data sel daripada eksport XLSX yang dihasilkan oleh sistem pihak ketiga dan masukkan nilai ke dalam pangkalan data atau perkhidmatan hiliran. Baca nilai sel melalui Cell.StringValue dan Cell.Value menggunakan koordinat baris dan lajur.

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 Pengesahan Data Sebelum Simpan

Tambah peraturan validasi dropdown atau julat sebelum menghantar templat XLSX kepada pengguna akhir, memastikan mereka mengisi hanya nilai yang boleh 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");

Menggayakan Output untuk Kebolehbacaan

Terapkan gaya sel — fon, warna isi, format nombor, sempadan — untuk menghasilkan output yang kemas. Cipta contoh Style secara langsung, konfigurasikan sifat‑sifatnya, dan terapkan ia 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 Melayu