กรณีการใช้งานสำหรับ 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");

ดูเพิ่มเติม

 ภาษาไทย