.NET библиотека с отворен код за манипулиране на електронни таблици на Excel

ClosedXML ви позволява да четете, манипулирате и пишете Microsoft Excel документи

ClosedXML е C# API с отворен код за четене, манипулиране и писане на Microsoft Excel 2007+ (.xlsx, .xlsm) документи. API ви позволява да създавате Excel файлове, без да използвате приложението Excel, и да четете файлове с помощта на подобрените функции.

С помощта на API можете да стилизирате вашите работни книги, като използвате оцветяване на фона и граници на клетки. Можете да добавяте, премахвате и премествате вашите работни листове и да управлявате типове данни в excel.

Previous Next

Първи стъпки с ClosedXML

Препоръчителният начин за инсталиране на ClosedXML е от NuGet. Моля, използвайте следната команда за по-бързо инсталиране.

Инсталирайте ClosedXML от NuGet

 Install-Package ClosedXML

Създавайте нови работни книги безплатно с помощта на C#

CLosedXML позволява на разработчиците на C.NET да създават нови отлични работни листове. Можете да създадете бяла готварска книга с помощта на метода XLWorkbook(). Библиотеката включва няколко важни функции за управление на вашите документи за работен лист. Тя позволява да добавяте работни листове в готварската си книга, да добавяте клетки и колони, да прилагате стилове към редове и колони, да изтривате нежеланите клетки и много други.

Създаване на нови бисквитки чрез .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#

Отвореният източник ClosedXML API дава възможност на разработчиците на софтуер да прилагат стилове към своите отлични листове само с няколко реда C код. API е обогатен със стилистични функции, включително подравняване, граница, запълване, шрифт, формат на номера, стилни редове, колони и др. Библиотеката също така позволява на потребителите да променят стила си според техните нужди.

Как да приложите стилове към Excel Sheets чрез 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#

ClosedXML библиотека включва пълна поддръжка за прилагане на филтри във вашите ексел работни листове. Библиотеката включва различни видове филтри за удобство на потребителя. Можете да приложите филтъра към определен диапазон, да приложите филтър към стойности и да създадете свои собствени потребителски филтри.

Как да прилагате авто филтри в 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();
            }
        }
    }
 Български