Excel Cədvəllərinin Manipulyasiyası üçün Açıq Mənbəli .NET Kitabxanası
ClosedXML sizə Microsoft Excel Sənədlərini oxumağa, manipulyasiya etməyə və yazmağa imkan verir
ClosedXML, Microsoft Excel 2007+ (.xlsx, .xlsm) sənədlərini oxumaq, manipulyasiya etmək və yazmaq üçün açıq mənbəli C# API-dir. API sizə Excel proqramından istifadə etmədən Excel faylları yaratmağa və təkmilləşdirilmiş funksiyalardan istifadə edərək faylları oxumağa imkan verir.
API-dən istifadə edərək, fon rəngi və hücrə sərhədindən istifadə edərək iş kitablarınızı üslub edə bilərsiniz. Excel daxilində iş vərəqlərinizi əlavə edə, silə və köçürə və məlumat növlərini idarə edə bilərsiniz.
ClosedXML ilə işə başlamaq
ClosedXML-i quraşdırmanın tövsiyə olunan yolu NuGet-dəndir, daha sürətli quraşdırma üçün aşağıdakı əmrdən istifadə edin.
NuGet-dən ClosedXML-i quraşdırın
Install-Package ClosedXML
C# istifadə edərək pulsuz yeni iş kitabları yaradın
CLosedXML, C# .NET tərtibatçılarına yeni Excel iş vərəqləri yaratmağa imkan verir. XLWorkbook() metodundan istifadə edərək boş iş dəftəri yarada bilərsiniz. Kitabxana iş vərəqi sənədlərinizi idarə etmək üçün bir neçə vacib funksiyanı özündə birləşdirir. Bu, iş kitabınıza iş vərəqləri əlavə etməyə, xanalar və sütunlar əlavə etməyə, sətir və sütunlara üslub tətbiq etməyə, istənməyən xanaları silməyə və s. imkan verir.
.NET API vasitəsilə Yeni İş Kitabları yaradın
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");
}
C# istifadə edərək Excel vərəqlərinin üslubu
Açıq mənbəli ClosedXML API proqram tərtibatçılarına C# kodunun bir neçə sətri ilə öz excel vərəqlərinə üslub tətbiq etməyə imkan verir. API hizalama, haşiyə, doldurma, şrift, nömrə formatı, üslub sətirləri, sütunlar və s. daxil olmaqla üslub xüsusiyyətləri ilə zənginləşdirilmişdir. Kitabxana həmçinin istifadəçilərə öz ehtiyaclarına uyğun üslubu dəyişməyə imkan verir.
C# Kitabxanası vasitəsilə Excel vərəqlərinə üslubları necə tətbiq etmək olar
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"));
C# istifadə edərək Excel-də Avtomatik Filtrlərdən istifadə
ClosedXML kitabxanasına excel iş vərəqləri daxilində filtrlərin tətbiqi üçün tam dəstək daxildir. İstifadəçinin rahatlığı üçün kitabxanaya müxtəlif növ filtrlər daxil edilmişdir. Siz filtri müəyyən diapazona tətbiq edə, dəyərlərə filtr tətbiq edə və öz xüsusi filtrlərinizi yarada bilərsiniz.
C# vasitəsilə Excel-də Avtomatik Filtrləri necə tətbiq etmək olar
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();
}
}
}