Βιβλιοθήκη ανοιχτού κώδικα .NET για χειρισμό υπολογιστικών φύλλων του Excel
Το ClosedXML σάς επιτρέπει να διαβάζετε, να χειρίζεστε και να γράφετε Έγγραφα του Microsoft Excel
Το ClosedXML είναι ένα C# API ανοιχτού κώδικα για την ανάγνωση, το χειρισμό και τη σύνταξη εγγράφων του Microsoft Excel 2007+ (.xlsx, .xlsm). Το API σάς επιτρέπει να δημιουργείτε αρχεία Excel χωρίς να χρησιμοποιείτε την εφαρμογή Excel και να διαβάζετε αρχεία χρησιμοποιώντας τις βελτιωμένες δυνατότητες.
Χρησιμοποιώντας το API, μπορείτε να διαμορφώσετε τα βιβλία εργασίας σας χρησιμοποιώντας χρωματισμό φόντου και περίγραμμα κελιών. Μπορείτε να προσθέσετε, να αφαιρέσετε και να μετακινήσετε τα φύλλα εργασίας σας και να διαχειριστείτε τύπους δεδομένων στο excel.
Ξεκινώντας με το ClosedXML
Ο προτεινόμενος τρόπος εγκατάστασης του ClosedXML είναι από το NuGet. Χρησιμοποιήστε την ακόλουθη εντολή για ταχύτερη εγκατάσταση.
Εγκαταστήστε το ClosedXML από το NuGet
Install-Package ClosedXML
Δημιουργήστε νέα βιβλία εργασίας δωρεάν χρησιμοποιώντας C#
CLosedXML επιτρέπει στους προγραμματιστές C.NET να δημιουργήσουν νέα φύλλα εργασίας excel. Μπορείτε να δημιουργήσετε ένα κενό βιβλίο μαγειρικής χρησιμοποιώντας τη μέθοδο XLWorkbook(). Η βιβλιοθήκη περιλαμβάνει πολλά σημαντικά χαρακτηριστικά για τη διαχείριση των εγγράφων του φύλλου εργασίας σας. Επιτρέπει την προσθήκη φύλλων εργασίας στο βιβλίο μαγειρικής σας, προσθέστε κελιά και στήλες, εφαρμόστε στυλ σε γραμμές και στήλες, διαγράψτε τα ανεπιθύμητα κύτταρα και πολλά άλλα.
Δημιουργήστε νέα cookies μέσω .NET API
using (var workbook = new XLWorkbook())
{
var worksheet = workbook.Worksheets.Add("Sample Sheet");
worksheet.Cell("A1").Value = "Hello World!";
worksheet.Cell("A2").FormulaA1 = "=MID(A1, 7, 5)";
workbook.SaveAs("HelloWorld.xlsx");
}
Φύλλα στυλ Excel χρησιμοποιώντας C#
Το open source ClosedXML API επιτρέπει στους προγραμματιστές λογισμικού να εφαρμόζουν στυλ στα excel φύλλα τους με μόνο μερικές γραμμές κώδικα C. Το API εμπλουτίζεται με χαρακτηριστικά στυλ, όπως ευθυγράμμιση, σύνορα, πλήρωση, γραμματοσειρά, μορφή αριθμού, γραμμές στυλ, στήλες και πολλά άλλα. Η βιβλιοθήκη επιτρέπει επίσης στους χρήστες να αλλάζουν το στυλ σύμφωνα με τις ανάγκες τους.
Πώς να εφαρμόσετε στυλ στα φύλλα του Excel μέσω της βιβλιοθήκης C
var path = Program.BaseCreatedDirectory;
new StyleFont().Create(Path.Combine(path, "styleFont.xlsx"));
new StyleFill().Create(Path.Combine(path, "styleFill.xlsx"));
new StyleBorder().Create(Path.Combine(path, "styleBorder.xlsx"));
new StyleAlignment().Create(Path.Combine(path, "styleAlignment.xlsx"));
new StyleNumberFormat().Create(Path.Combine(path, "styleNumberFormat.xlsx"));
new StyleIncludeQuotePrefix().Create(Path.Combine(path, "styleIncludeQuotePrefix.xlsx"));
Χρήση αυτόματων φίλτρων στο Excel χρησιμοποιώντας C#
Η κλειστή βιβλιοθήκη XML έχει συμπεριλάβει πλήρη υποστήριξη για την εφαρμογή φίλτρων στα φύλλα εργασίας excel. Η βιβλιοθήκη έχει συμπεριλάβει διάφορους τύπους φίλτρων για την ευκολία του χρήστη. Μπορείτε να εφαρμόσετε το φίλτρο σε μια συγκεκριμένη σειρά, να εφαρμόσετε ένα φίλτρο σε τιμές και να δημιουργήσετε τα δικά σας φίλτρα.
Πώς να εφαρμόσετε φίλτρα αυτοκινήτων στο Excel μέσω C
public class DynamicAutoFilter : IXLExample
{
public void Create(string filePath)
{
var wb = new XLWorkbook();
IXLWorksheet ws;
#region Single Column Numbers
String singleColumnNumbers = "Single Column Numbers";
ws = wb.Worksheets.Add(singleColumnNumbers);
// Add a bunch of numbers to filter
ws.Cell("A1").SetValue("Numbers")
.CellBelow().SetValue(2)
.CellBelow().SetValue(3)
.CellBelow().SetValue(3)
.CellBelow().SetValue(5)
.CellBelow().SetValue(1)
.CellBelow().SetValue(4);
// Add filters
ws.RangeUsed().SetAutoFilter().Column(1).AboveAverage();
// Sort the filtered list
//ws.AutoFilter.Sort(1);
#endregion
#region Multi Column
String multiColumn = "Multi Column";
ws = wb.Worksheets.Add(multiColumn);
ws.Cell("A1").SetValue("First")
.CellBelow().SetValue("B")
.CellBelow().SetValue("C")
.CellBelow().SetValue("C")
.CellBelow().SetValue("E")
.CellBelow().SetValue("A")
.CellBelow().SetValue("D");
ws.Cell("B1").SetValue("Numbers")
.CellBelow().SetValue(2)
.CellBelow().SetValue(3)
.CellBelow().SetValue(3)
.CellBelow().SetValue(5)
.CellBelow().SetValue(1)
.CellBelow().SetValue(4);
ws.Cell("C1").SetValue("Strings")
.CellBelow().SetValue("B")
.CellBelow().SetValue("C")
.CellBelow().SetValue("C")
.CellBelow().SetValue("E")
.CellBelow().SetValue("A")
.CellBelow().SetValue("D");
// Add filters
ws.RangeUsed().SetAutoFilter().Column(2).BelowAverage();
// Sort the filtered list
//ws.AutoFilter.Sort(3);
#endregion
using (var ms = new MemoryStream())
{
wb.SaveAs(ms);
var workbook = new XLWorkbook(ms);
#region Single Column Numbers
//workbook.Worksheet(singleColumnNumbers).AutoFilter.Sort(1, XLSortOrder.Descending);
#endregion
#region Multi Column
//workbook.Worksheet(multiColumn).AutoFilter.Sort(3, XLSortOrder.Descending);
#endregion
workbook.SaveAs(filePath);
ms.Close();
}
}
}