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

Open Source .NET-bibliotek för att manipulera Excel-kalkylblad

ClosedXML låter dig läsa, manipulera och skriva Microsoft Excel-dokument

ClosedXML är ett C# API med öppen källkod för att läsa, manipulera och skriva Microsoft Excel 2007+ (.xlsx, .xlsm) dokument. API:et låter dig skapa Excel-filer utan att använda Excel-applikationen och läsa filer med de förbättrade funktionerna.

Med hjälp av API:et kan du utforma dina arbetsböcker genom att använda bakgrundsfärger och cellkanter. Du kan lägga till, ta bort och flytta dina kalkylblad och hantera datatyper i excel.

Previous Next

Komma igång med ClosedXML

Det rekommenderade sättet att installera ClosedXML är från NuGet. Använd följande kommando för snabbare installation.

Installera ClosedXML från NuGet

 Install-Package ClosedXML

Skapa nya arbetsböcker gratis med C#

CLosedXML tillåter C#.NET utvecklare att skapa nya excel kalkylblad. Du kan skapa en tom kokbok med hjälp av XLWorkbook()-metoden. Biblioteket har inkluderat flera viktiga funktioner för att hantera dina kalkylbladsdokument. Det gör det möjligt att lägga till kalkylblad i din kokbok, lägga till celler och kolumner, tillämpa stilar på rader och kolumner, ta bort oönskade celler och många fler.

Skapa nya Cookbooks 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-format med C#

Den öppna källan ClosedXML API gör det möjligt för mjukvaruutvecklare att tillämpa stilar på sina excel-ark med bara ett par rader av C#-kod. De API är berikade med stylingfunktioner inklusive anpassning, gräns, fyllning, teckensnitt, nummerformat, styling rader, kolumner och mer. Biblioteket tillåter också användare att ändra stylingen enligt deras behov.

Hur man ansöker stilar till Excel Sheets 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"));

Använda automatiska filter i Excel med C#

ClosedXML bibliotek har inkluderat komplett stöd för att tillämpa filter i dina excel kalkylblad. Biblioteket har inkluderat olika typer av filter för användarens bekvämlighet. Du kan använda filtret till ett visst intervall, tillämpa ett filter på värden och skapa egna anpassade filter också.

Hur man ansöker Auto Filters 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();
            }
        }
    }
 Svenska