موارد استفاده از Aspose.Cells FOSS برای .NET
Aspose.Cells FOSS برای .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 تولید شده توسط سیستمهای شخص ثالث استخراج کنید و مقادیر را به یک پایگاه داده یا سرویس downstream منتقل کنید. مقادیر سلول را از طریق 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");