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.

Previous Next

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();
            }
        }
    }
 Azəri