এক্সেল স্প্রেডশীট ম্যানিপুলেট করার জন্য ওপেন সোর্স .NET লাইব্রেরি
ক্লোজডএক্সএমএল আপনাকে মাইক্রোসফ্ট এক্সেল ডকুমেন্ট পড়তে, ম্যানিপুলেট করতে এবং লিখতে দেয়
ক্লোজডএক্সএমএল হল মাইক্রোসফ্ট এক্সেল 2007+ (.xlsx, .xlsm) নথিগুলি পড়ার, ম্যানিপুলেট করার এবং লেখার জন্য একটি ওপেন সোর্স C# API। এপিআই আপনাকে এক্সেল অ্যাপ্লিকেশন ব্যবহার না করেই এক্সেল ফাইল তৈরি করতে এবং উন্নত বৈশিষ্ট্যগুলি ব্যবহার করে ফাইল পড়তে দেয়।
API ব্যবহার করে আপনি ব্যাকগ্রাউন্ড কালারিং এবং সেল বর্ডারিং ব্যবহার করে আপনার ওয়ার্কবুক স্টাইল করতে পারেন। আপনি আপনার ওয়ার্কশীটগুলি যোগ করতে, সরাতে এবং সরাতে পারেন এবং এক্সেলের মধ্যে ডেটাটাইপগুলি পরিচালনা করতে পারেন।
ClosedXML দিয়ে শুরু করা হচ্ছে
ClosedXML ইনস্টল করার প্রস্তাবিত উপায় হল NuGet থেকে, অনুগ্রহ করে দ্রুত ইনস্টলেশনের জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন।
NuGet থেকে ClosedXML ইনস্টল করুন
Install-Package ClosedXML
C# ব্যবহার করে বিনামূল্যে নতুন ওয়ার্কবুক তৈরি করুন
CLosedXML C# .NET ডেভেলপারদের নতুন এক্সেল ওয়ার্কশীট তৈরি করতে দেয়। আপনি XLWorkbook() পদ্ধতি ব্যবহার করে একটি ফাঁকা ওয়ার্কবুক তৈরি করতে পারেন। আপনার ওয়ার্কশীট নথিগুলি পরিচালনা করার জন্য লাইব্রেরিতে বেশ কয়েকটি গুরুত্বপূর্ণ বৈশিষ্ট্য অন্তর্ভুক্ত রয়েছে। এটি আপনার ওয়ার্কবুকে ওয়ার্কশীট যোগ করতে, ঘর এবং কলাম যোগ করতে, সারি এবং কলামে শৈলী প্রয়োগ করতে, অবাঞ্ছিত কোষগুলি মুছে ফেলতে এবং আরও অনেক কিছু করতে দেয়।
.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# ব্যবহার করে স্টাইল এক্সেল শীট
ওপেন সোর্স ClosedXML API সফ্টওয়্যার ডেভেলপারদের তাদের এক্সেল শীটে C# কোডের কয়েকটি লাইন দিয়ে শৈলী প্রয়োগ করতে সক্ষম করে। API সারিবদ্ধকরণ, সীমানা, পূরণ, ফন্ট, সংখ্যা বিন্যাস, স্টাইলিং সারি, কলাম এবং আরও অনেক কিছু সহ স্টাইলিং বৈশিষ্ট্যগুলির সাথে সমৃদ্ধ। লাইব্রেরি ব্যবহারকারীদের তাদের প্রয়োজন অনুযায়ী স্টাইলিং পরিবর্তন করার অনুমতি দেয়।
কিভাবে C# লাইব্রেরির মাধ্যমে এক্সেল শীটে স্টাইল প্রয়োগ করবেন
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# ব্যবহার করে এক্সেলে অটো ফিল্টার ব্যবহার করা
ClosedXML লাইব্রেরিতে আপনার এক্সেল ওয়ার্কশীটের মধ্যে ফিল্টার প্রয়োগ করার জন্য সম্পূর্ণ সমর্থন অন্তর্ভুক্ত করা হয়েছে। লাইব্রেরিতে ব্যবহারকারীর সুবিধার জন্য বিভিন্ন ধরনের ফিল্টার অন্তর্ভুক্ত করা হয়েছে। আপনি একটি নির্দিষ্ট পরিসরে ফিল্টার প্রয়োগ করতে পারেন, মানগুলিতে একটি ফিল্টার প্রয়োগ করতে পারেন এবং পাশাপাশি আপনার নিজস্ব কাস্টম ফিল্টার তৈরি করতে পারেন।
কিভাবে 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();
}
}
}