Περιστάσεις χρήσης για το 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 που παράγονται από συστήματα τρίτων και τροφοδοτήστε τις τιμές σε μια βάση δεδομένων ή σε 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");