1. Termékek
  2.   Táblázat
  3.   .NET
  4.   ClosedXML
 
  

Nyílt forráskódú .NET-könyvtár Excel-táblázatok kezeléséhez

A ClosedXML lehetővé teszi a Microsoft Excel dokumentumok olvasását, kezelését és írását

A ClosedXML egy nyílt forráskódú C# API Microsoft Excel 2007+ (.xlsx, .xlsm) dokumentumok olvasásához, kezeléséhez és írásához. Az API lehetővé teszi Excel-fájlok létrehozását az Excel alkalmazás használata nélkül, és fájlok olvasását a továbbfejlesztett szolgáltatások segítségével.

Az API használatával háttérszínezéssel és cellaszegélyezéssel stílusozhatja munkafüzeteit. Hozzáadhatja, eltávolíthatja és áthelyezheti munkalapjait, valamint kezelheti az adattípusokat az Excelben.

Previous Next

A ClosedXML használatának első lépései

A ClosedXML telepítésének javasolt módja a NuGet. Kérjük, használja a következő parancsot a gyorsabb telepítés érdekében.

Telepítse a ClosedXML-t a NuGetből

 Install-Package ClosedXML

Új munkafüzetek létrehozása ingyenesen a C# használatával

A CLosedXML lehetővé teszi a C# .NET fejlesztők számára, hogy új kiváló munkalapokat hozzanak létre. Létrehozhat egy üres főkönyvet az XLWorkbook() módszerrel. A könyvtár számos fontos funkciót tartalmazott a munkalap-dokumentumok kezeléséhez. Lehetővé teszi a munkalapok hozzáadását a főkönyvben, hozzáadja a sejteket és oszlopokat, alkalmazza a stílusokat a sorokra és az oszlopokra, törölje a nem kívánt sejteket és még sok mást.

Új Cookbookok létrehozása .NET API-en keresztül


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-táblázatok stílusa C# használatával

A nyílt forráskódú ClosedXML API lehetővé teszi a szoftverfejlesztők számára, hogy stílusokat alkalmazzanak a C# kód néhány sorával. A API-et stílusos funkciókkal gazdagítják, beleértve az összehangolást, a határt, a kitöltést, a betűtípust, a styling sorokat, az oszlopokat és még többet. A könyvtár lehetővé teszi a felhasználók számára, hogy módosítsák a stílust az igényeiknek megfelelően.

Hogyan alkalmazzuk a stílusokat az Excel lapokra C# könyvtáron keresztül


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

Automatikus szűrők használata Excelben C# használatával

A ClosedXML könyvtár teljes támogatást nyújtott a szűrők alkalmazására az excel munkalapokon belül. A könyvtár különböző típusú szűrőket tartalmazott a felhasználó kényelme érdekében. Használhatja a szűrőt egy adott tartományra, alkalmazhat egy szűrőt az értékekre, és létrehozhatja saját egyéni szűrőit is.

Hogyan kell alkalmazni az automatikus szűrőket az Excel C# segítségével

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();
            }
        }
    }
 Magyar