Excel Elektronik Tablolarını Değiştirmek için Açık Kaynak .NET Kitaplığı
ClosedXML, Microsoft Excel Belgelerini okumanıza, değiştirmenize ve yazmanıza olanak tanır
ClosedXML, Microsoft Excel 2007+ (.xlsx, .xlsm) belgelerini okumak, işlemek ve yazmak için açık kaynaklı bir C# API'sidir. API, Excel uygulamasını kullanmadan Excel dosyaları oluşturmanıza ve gelişmiş özellikleri kullanarak dosyaları okumanıza olanak tanır.
API'yi kullanarak, arka plan renklendirme ve hücre kenarlığı kullanarak çalışma kitaplarınızı şekillendirebilirsiniz. Excel içinde çalışma sayfalarınızı ekleyebilir, kaldırabilir ve taşıyabilir ve veri türlerini yönetebilirsiniz.
ClosedXML'ye Başlarken
ClosedXML'i kurmanın önerilen yolu NuGet'tendir, Daha hızlı kurulum için lütfen aşağıdaki komutu kullanın.
NuGet'ten ClosedXML yükleyin
Install-Package ClosedXML
C# Kullanarak Ücretsiz Yeni Çalışma Kitapları Oluşturun
CLosedXML, C# .NET geliştiricilerinin yeni mükemmel iş tabloları oluşturmasını sağlar. XLWorkbook() yöntemi kullanarak boş bir yemek kitabı oluşturabilirsiniz. Kütüphane, çalışma masası belgelerinizi yönetmek için birkaç önemli özellik içeriyordu. Yemek kitabınızda iş tablolarını eklemek, hücreler ve sütunları ekleyin, sıralara ve sütunlara stilleri uygulayın, istenmeyen hücreleri ve daha fazlasını sil.
Yeni Cook kitaplarını .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");
}
C# kullanarak Excel Sayfalarını Stillendirme
Açık kaynak KapalıXML API, yazılım geliştiricilerinin sadece birkaç C# kodu ile mükemmel yapraklarını uygulamalarını sağlar. API, hizalama, sınır, doldurma, font, numara formatı, stil satırları, sütunlar ve daha fazlası dahil olmak üzere stil özellikleri ile zenginleştirilmiştir. Kütüphane ayrıca kullanıcıların kendi ihtiyaçlarına göre stili değiştirmelerine izin verir.
Stilleri C# Library aracılığıyla Excel Dokümanlarına Nasıl Başvurulur
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"));
C# kullanarak Excel'de Otomatik Filtreleri Kullanma
KapalıXML kütüphanesi, mükemmel iş tablolarınızın içindeki filtreler için tam destek dahil etti. Kütüphane, kullanıcının rahatlığı için çeşitli filtreler içeriyordu. Filtreyi belirli bir aralığına uygulayabilirsiniz, değerlere bir filtre uygulayabilir ve kendi özel filtrelerinizi de oluşturabilirsiniz.
C# ile Excel'de Auto Filtreleri Nasıl Uygulanır
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();
}
}
}