1. Produkty
  2.   Arkusz
  3.   .NET
  4.   ClosedXML
 
  

Biblioteka Open Source .NET do manipulowania arkuszami kalkulacyjnymi Excel

ClosedXML umożliwia czytanie, manipulowanie i pisanie dokumentów Microsoft Excel

ClosedXML to open source'owy interfejs API języka C# do czytania, manipulowania i pisania dokumentów Microsoft Excel 2007+ (.xlsx, .xlsm). Interfejs API umożliwia tworzenie plików Excel bez korzystania z aplikacji Excel oraz odczytywanie plików przy użyciu rozszerzonych funkcji.

Korzystając z interfejsu API, możesz stylizować swoje skoroszyty, używając kolorowania tła i obramowania komórek. Możesz dodawać, usuwać i przenosić arkusze robocze oraz zarządzać typami danych w programie Excel.

Previous Next

Pierwsze kroki z ClosedXML

Zalecany sposób instalacji ClosedXML pochodzi z NuGet. Użyj następującego polecenia, aby przyspieszyć instalację.

Zainstaluj ClosedXML z NuGet

 Install-Package ClosedXML

Twórz nowe skoroszyty za darmo za pomocą C#

CLosedXML umożliwia deweloperom C.NET tworzenie nowych arkuszy excel. Możesz utworzyć puste książki kucharskie przy użyciu metody XLWorkbook(). Biblioteka zawiera kilka ważnych funkcji do zarządzania dokumentami arkusza roboczego. Pozwala na dodanie arkuszy w książce kucharskiej, dodawanie komórek i kolumn, zastosowanie stylów do wierszy i kolumn, usuwanie niechcianych komórek i wiele innych.

Tworzenie nowych książek kucharskich poprzez .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");
}

Stylizuj arkusze Excela za pomocą C#

Otwarte źródło ClosedXML API umożliwia programistom stosowanie stylów do swoich arkuszy excel z zaledwie kilkoma liniami kodu C. API jest wzbogacony o funkcje stylizacji, w tym wyrównanie, granica, wypełnienie, czcionka, format numeru, wiersze stylizacyjne, kolumny i wiele innych. Biblioteka umożliwia również użytkownikom zmianę stylizacji zgodnie z ich potrzebami.

Jak stosować style do arkuszy Excel za pośrednictwem biblioteki 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"));

Korzystanie z automatycznych filtrów w programie Excel za pomocą C#

Biblioteka zamkniętaXML zawiera kompletne wsparcie dla stosowania filtrów wewnątrz arkuszy roboczych Excel. Biblioteka zawiera różne rodzaje filtrów dla wygody użytkownika. Filtr można zastosować do określonego zakresu, zastosować filtr do wartości i stworzyć własne filtry niestandardowe, jak również.

Jak aplikować Auto Filters w Excel przez 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();
            }
        }
    }
 Polski