Open Source .NET-bibliotek til manipulation af Excel-regneark
ClosedXML giver dig mulighed for at læse, manipulere og skrive Microsoft Excel-dokumenter
ClosedXML er en open source C# API til at læse, manipulere og skrive Microsoft Excel 2007+ (.xlsx, .xlsm) dokumenter. API'et giver dig mulighed for at oprette Excel-filer uden at bruge Excel-applikationen og læse filer ved hjælp af de forbedrede funktioner.
Ved hjælp af API'et kan du style dine projektmapper ved at bruge baggrundsfarve og cellekant. Du kan tilføje, fjerne og flytte dine regneark og administrere datatyper i excel.
Kom godt i gang med ClosedXML
Den anbefalede måde at installere ClosedXML på er fra NuGet. Brug venligst følgende kommando for hurtigere installation.
Installer ClosedXML fra NuGet
Install-Package ClosedXML
Opret nye projektmapper gratis ved hjælp af C#
CLosedXML giver C# .NET-udviklere mulighed for at oprette nye excel-regneark. Du kan oprette en tom projektmappe ved hjælp af XLWorkbook()-metoden. Biblioteket har inkluderet flere vigtige funktioner til styring af dine regnearksdokumenter. Det giver mulighed for at tilføje regneark i din projektmappe, tilføje celler og kolonner, anvende stilarter på rækker og kolonner, slette de uønskede celler og mange flere.
Opret nye projektmapper 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");
}
Style Excel-ark ved hjælp af C#
Open source ClosedXML API gør det muligt for softwareudviklere at anvende stilarter på deres excel-ark med blot et par linjer C#-kode. API'et er beriget med stilfunktioner, herunder justering, kant, fyld, skrifttype, talformat, stilrækker, kolonner og mere. Biblioteket giver også brugerne mulighed for at ændre stylingen efter deres behov.
Sådan anvender du typografier til 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"));
Brug af automatiske filtre i Excel ved hjælp af C#
ClosedXML-biblioteket har inkluderet komplet support til at anvende filtre i dine excel-regneark. Biblioteket har inkluderet forskellige typer filtre for brugerens bekvemmelighed. Du kan anvende filteret på et specifikt område, anvende et filter på værdier og også oprette dine egne tilpassede filtre.
Sådan anvender 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();
}
}
}