1. Produkter
  2.   Regneark
  3.   .NET
  4.   ClosedXML
 
  

Open Source .NET-bibliotek for å manipulere Excel-regneark

ClosedXML lar deg lese, manipulere og skrive Microsoft Excel-dokumenter

ClosedXML er en åpen kildekode C# API for lesing, manipulering og skriving av Microsoft Excel 2007+ (.xlsx, .xlsm) dokumenter. API-en lar deg lage Excel-filer uten å bruke Excel-applikasjonen, og lese filer ved hjelp av de forbedrede funksjonene.

Ved å bruke API kan du style arbeidsbøkene dine ved å bruke bakgrunnsfarging og cellekant. Du kan legge til, fjerne og flytte regnearkene dine og administrere datatyper i excel.

Previous Next

Komme i gang med ClosedXML

Den anbefalte måten å installere ClosedXML på er fra NuGet. Bruk følgende kommando for raskere installasjon.

Installer ClosedXML fra NuGet

 Install-Package ClosedXML

Lag nye arbeidsbøker gratis ved å bruke C#

CLosedXML lar C# .NET-utviklere lage nye Excel-regneark. Du kan opprette en tom arbeidsbok ved å bruke XLWorkbook()-metoden. Biblioteket har inkludert flere viktige funksjoner for å administrere regnearkdokumentene dine. Den lar deg legge til regneark i arbeidsboken din, legge til celler og kolonner, bruke stiler på rader og kolonner, slette de uønskede cellene og mange flere.

Lag nye arbeidsbøker via .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-stilark med C#

Open source ClosedXML API gjør det mulig for programvareutviklere å bruke stiler på Excel-arkene sine med bare et par linjer med C#-kode. API-en er beriket med stilfunksjoner, inkludert justering, kantlinje, fyll, font, tallformat, stilrader, kolonner og mer. Biblioteket lar også brukere endre stylingen i henhold til deres behov.

Slik bruker du stiler på Excel-ark via C# Library


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

Bruke automatiske filtre i Excel ved å bruke C#

ClosedXML-biblioteket har inkludert fullstendig støtte for bruk av filtre i excel-regnearkene dine. Biblioteket har inkludert ulike typer filtre for brukerens bekvemmelighet. Du kan bruke filteret på et spesifikt område, bruke et filter på verdier og lage dine egne tilpassede filtre også.

Slik bruker du automatiske filtre i Excel via 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();
            }
        }
    }
 Norsk