Aspose.Cells FOSS for .NET için Kullanım Senaryoları
Aspose.Cells FOSS for .NET, Microsoft Office veya herhangi bir dış bağımlılık gerektirmeden XLSX dosyalarını okuyan ve yazan saf yönetilen bir .NET kütüphanesidir. Aşağıdaki kullanım senaryoları, kütüphanenin gerçek dünya .NET uygulamalarına nasıl uyduğunu gösterir.
Rapor Oluşturma
Sunucu tarafı veya toplu uygulamalarda programlı olarak XLSX raporları oluşturun. Yapılandırılmış verileri yazmak için Workbook, Worksheet ve Cell.PutValue() kullanın, ardından dosyayı üretmek için Workbook.Save() çağırın.
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");Bu desen, herhangi bir satır sayısına ölçeklenebilir ve bir veritabanı veya API yanıtından gelen verilerle yönlendirilebilir.
Yüklenen Elektronik Tablo İşleme
Kullanıcılar tarafından bir web formu veya API uç noktası aracılığıyla gönderilen XLSX dosyalarını okuyun ve doğrulayın. Workbook yapıcı, bir Stream kabul eder, bu yüzden geçici bir dosyanın diske yazılmasına gerek yoktur.
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‘i kullanarak yapısal onarım gerektiren dosyaları tespit edin ve bu bilgiyi kullanıcılara sunun.
Veri Boru Hattı Çıkarma
Üçüncü taraf sistemler tarafından üretilen XLSX dışa aktarmalarından hücre verilerini çıkarın ve değerleri bir veritabanına veya aşağı akış hizmetine besleyin. Hücre değerlerini satır ve sütun koordinatlarını kullanarak Cell.StringValue ve Cell.Value aracılığıyla okuyun.
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");Kaydetmeden Önce Veri Doğrulama Uygulama
Kullanıcılara bir XLSX şablonu teslim etmeden önce, yalnızca kabul edilebilir değerleri girmelerini sağlamak için açılır menü veya aralık doğrulama kuralları ekleyin.
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");Okunabilirlik İçin Çıktıyı Stil Verme
Hücre stillerini — yazı tipleri, dolgu renkleri, sayı biçimleri, kenarlıklar — uygulayarak cilalı bir çıktı üretin. Bir Style örneğini doğrudan oluşturun, özelliklerini yapılandırın ve Cell.SetStyle() ile uygulayın.
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");