1. produkty
  2.   Tabulka
  3.   .NET
  4.   ClosedXML
 
  

Open Source .NET knihovna pro manipulaci s tabulkami Excel

ClosedXML umožňuje číst, manipulovat a psát dokumenty Microsoft Excel

ClosedXML je open source C# API pro čtení, manipulaci a zápis dokumentů Microsoft Excel 2007+ (.xlsx, .xlsm). Rozhraní API vám umožňuje vytvářet soubory aplikace Excel bez použití aplikace Excel a číst soubory pomocí vylepšených funkcí.

Pomocí rozhraní API můžete upravit styl sešitů pomocí obarvení pozadí a ohraničení buněk. V Excelu můžete přidávat, odebírat a přesouvat své listy a spravovat datové typy.

Previous Next

Začínáme s ClosedXML

Doporučený způsob instalace ClosedXML je z NuGet, použijte prosím následující příkaz pro rychlejší instalaci.

Nainstalujte ClosedXML z NuGet

 Install-Package ClosedXML

Vytvářejte zdarma nové sešity pomocí C#

CLosedXML umožňuje vývojářům C# .NET vytvořit nové excelové listy. Můžete vytvořit prázdný sporák pomocí metody XLWorkbook(). Knihovna obsahuje několik důležitých funkcí pro správu dokumentů pracovního listu. Umožňuje přidat pracovní listy ve vašem kuchaři, přidávat buňky a sloupce, aplikovat styly na řádky a sloupce, odstranit nežádoucí buňky a mnoho dalšího.

Vytvořit nové kuchařky přes .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");
}

Styly tabulek Excelu pomocí C#

Open source ClosedXML API umožňuje vývojářům softwaru aplikovat styly na jejich excelové listy pomocí pouhých několika řádků kódu C#. Rozhraní API je obohaceno o funkce stylů včetně zarovnání, ohraničení, výplně, písma, formátu čísel, stylingu řádků, sloupců a dalších. Knihovna také umožňuje uživatelům měnit styl podle svých potřeb.

Jak aplikovat styly do Excelových listů přes C# knihovna


            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"));

Použití automatických filtrů v Excelu pomocí C#

ClosedXML knihovna obsahuje kompletní podporu pro použití filtrů uvnitř vašich excelových pracovních listů. Knihovna obsahuje různé typy filtrů pro pohodlí uživatele. Můžete použít filtr na konkrétní rozsah, aplikovat filtr na hodnoty a vytvořit vlastní vlastní vlastní filtry.

Jak aplikovat automatické filtry v aplikaci Excel prostřednictvím 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();
            }
        }
    }
 Čeština