Το Aspose.Cells FOSS for .NET είναι μια δωρεάν, ανοιχτού κώδικα βιβλιοθήκη με άδεια MIT για εργασία με αρχεία λογιστικών φύλλων Excel σε εφαρμογές .NET. Εγκαταστήστε το με μία εντολή dotnet add package Aspose.Cells_FOSS και αρχίστε να δημιουργείτε βιβλία εργασίας, να διαβάζετε κελιά, να εφαρμόζετε στυλ, να προσθέτετε μορφοποίηση υπό όρους, υπερσυνδέσμους, επικύρωση δεδομένων και αυτόματα φίλτρα — όλα χωρίς να απαιτείται το Microsoft Excel ή οποιαδήποτε εγγενής βιβλιοθήκη Office.
Η βιβλιοθήκη εκθέτει ένα καθαρό API που βασίζεται στα Workbook, Worksheet, Cells και Cell — τα γνωστά αντικείμενα που γνωρίζει κάθε προγραμματιστής λογιστικών φύλλων. Δημιουργήστε ένα Workbook για να φορτώσετε ένα υπάρχον αρχείο .xlsx ή για να δημιουργήσετε ένα κενό, αποκτήστε πρόσβαση στα φύλλα εργασίας μέσω της συλλογής Worksheets, διαβάστε και γράψτε τιμές κελιών με PutValue και εφαρμόστε στυλ μέσω GetStyle()/SetStyle(). Οι τύποι αποθηκεύονται ακριβώς ως συμβολοσειρές και αξιολογούνται από τον προβολέα κατά το άνοιγμα, όχι από τη βιβλιοθήκη κατά το χρόνο εκτέλεσης.
Επειδή η βιβλιοθήκη είναι καθαρά διαχειριζόμενος κώδικας .NET χωρίς εγγενείς εξαρτήσεις, λειτουργεί με τον ίδιο τρόπο σε Windows, macOS, Linux, κοντέινερ Docker και περιβάλλοντα serverless όπως Azure Functions και AWS Lambda. Η άδεια MIT επιτρέπει απεριόριστη εμπορική χρήση χωρίς δικαιώματα, άδειες θέσεων ή χρεώσεις ανά ανάπτυξη.
Workbook(fileName) and Save(fileName).string, int, bool, decimal, and DateTime values with Cell.PutValue(value).Cell.StringValue, Cell.Value, and Cell.IntValue.Cell.Formula — evaluated by Excel on open.Workbook.Worksheets..xlsx without Office.CellStyle.Font.CellStyle.ForegroundColor and FillPattern.Solid.FormatConditionType.CellValue, Expression, ColorScale, DataBar, and IconSet rules via Worksheet.ConditionalFormattings.StyleRepository.Normalize(style) for consistent style application.ValidationCollection.Add().OperatorType.Between, GreaterThan, LessThan, and others.ValidationType.WholeNumber, Decimal, List, Date, or Custom.AutoFilter and AutoFilter.FilterColumns.CellArea.CreateCellArea(start, end).HyperlinkCollection.Add().DefinedNameCollection.Add().WorkbookProtection.Worksheet.Protect().LoadDiagnostics and LoadIssue.Install the NuGet package, then create a Workbook, access the first Worksheet, and write values to cells using PutValue. The example demonstrates writing multiple value types and performing a save-and-reload round trip.
dotnet add package Aspose.Cells_FOSS
using Aspose.Cells_FOSS;
var outputPath = "cell-data-roundtrip.xlsx";
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].PutValue(true);
sheet.Cells["D1"].PutValue(12.5m);
sheet.Cells["F1"].PutValue(10);
sheet.Cells["G1"].Formula = "=F1*2";
workbook.Save(outputPath);
var loaded = new Workbook(outputPath);
var loadedSheet = loaded.Worksheets[0];
Console.WriteLine(loadedSheet.Cells["A1"].StringValue);
Console.WriteLine(loadedSheet.Cells["G1"].Formula);
Add conditional formatting rules to highlight cell ranges. The example applies a between-value rule with a solid fill, an expression rule, a color scale, a data bar, and an icon set.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Conditional Formatting";
for (var i = 0; i < 10; i++)
sheet.Cells[i, 0].PutValue(i + 1);
var cfCol = sheet.ConditionalFormattings[sheet.ConditionalFormattings.Add()];
cfCol.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = cfCol[cfCol.AddCondition(FormatConditionType.CellValue,
OperatorType.Between, "3", "7")];
var style = rule.Style;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 255, 199, 206);
style.Font.Bold = true;
rule.Style = style;
workbook.Save("conditional-formatting.xlsx");
Create external and internal hyperlinks, then define named ranges scoped to the workbook or a specific sheet.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Links";
sheet.Cells["A1"].PutValue("Docs");
var link = sheet.Hyperlinks[sheet.Hyperlinks.Add("A1", 1, 1, "https://example.com/docs")];
link.TextToDisplay = "Docs";
link.ScreenTip = "External docs";
var name = workbook.DefinedNames[workbook.DefinedNames.Add("GlobalRange", "='Links'!$A$1:$D$5")];
name.Comment = "Primary sample range";
workbook.Save("hyperlinks-and-names.xlsx");