1. Producten
  2.   Spreadsheet
  3.   .NET
  4.   ClosedXML
 
  

Open Source .NET-bibliotheek voor het manipuleren van Excel-spreadsheets

Met ClosedXML kunt u Microsoft Excel-documenten lezen, manipuleren en schrijven

ClosedXML is een open source C# API voor het lezen, manipuleren en schrijven van Microsoft Excel 2007+ (.xlsx, .xlsm) documenten. Met de API kunt u Excel-bestanden maken zonder de Excel-toepassing te gebruiken en bestanden lezen met behulp van de verbeterde functies.

Met behulp van de API kunt u uw werkmappen opmaken door achtergrondkleuring en celranden te gebruiken. U kunt uw werkbladen toevoegen, verwijderen en verplaatsen en gegevenstypen beheren in Excel.

Previous Next

Aan de slag met ClosedXML

De aanbevolen manier om ClosedXML te installeren is van NuGet. Gebruik de volgende opdracht voor een snellere installatie.

Installeer ClosedXML van NuGet

 Install-Package ClosedXML

Maak gratis nieuwe werkmappen met C#

CLosedXML laat C# .NET ontwikkelaars nieuwe excel werkheets maken. Je kunt een blanco kookboek maken met het XLWorkbook. De bibliotheek heeft een aantal belangrijke kenmerken inbegrepen voor het beheren van je werkstuk documenten. Het staat toe om de werkplekken in je kookboek toe te voegen, cellen en kolommen toe te voegen, stijlen aan roeien en kolommen te verwijderen, de ongewenste cellen en nog veel meer.

Creëer New Cookbooks via ET 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");
}

Style Excel-bladen met C#

De open bron sluit XML API inables softwareontwikkelaars om stijlen aan hun excel lakens toe te voegen met slechts een paar lijnen C-code. De API is verrijkt met styling kenmerken waaronder alignatie, grens, vul, font, getal format, styling roei, columns en meer. De bibliotheek laat ook gebruikers de styling veranderen volgens hun behoeften.

Hoe je Styles moet toepassen aan Excel Sheets via 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"));

Automatische filters gebruiken in Excel met C#

Gesloten XML-bibliotheek heeft volledige steun voor het toepassen van filters in je excel werkstukken. De bibliotheek heeft verschillende filters inbegrepen voor de gebruikersgemeenschap. Je kunt de filter aan een specifieke bereik toepassen, een filter aan waarden toepassen en je eigen filters creëren.

Hoe je auto Filters in Excel via C kunt toepassen

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