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