EPPlus ব্যবহার করে কক্ষগুলি মার্জ করবেন?


94

আমি এক্সপি ফাইলগুলি পড়তে / লিখতে ইপিপ্লাস গ্রন্থাগারটি ব্যবহার করছি: http://epplus.codeplex.com/

ডকুমেন্ট লেখার সময় আমি কিছু কক্ষকে মার্জ করার চেষ্টা করছি:

using (ExcelPackage pck = new ExcelPackage())
{
    //Create the worksheet
    ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Demo");

    //Format the header for column 1-3
    using (ExcelRange rng = ws.Cells["A1:C1"])
    {
        bool merge = rng.Merge;
    }
}

মার্জ নামে একটি সম্পত্তি রয়েছে যা কেবল সত্য বা মিথ্যা দেয়। আমি ভেবেছিলাম যে এটি কোষগুলিকে মার্জ করবে, তবে তা হয় না।

কেউ কি করতে পারে জানেন?

উত্তর:


166

আপনার এটি এটির মতো ব্যবহার করতে হবে:

ws.Cells["A1:C1"].Merge = true;

পরিবর্তে:

using (ExcelRange rng = ws.Cells["A1:C1"])
{
    bool merge = rng.Merge;
}

Vb.net- এ কোষগুলিকে একীভূত করতে ডায়নামিক পরামিতিগুলি কীভাবে আমি পাস করতে পারি
হরি

আমি বিপরীত কাজ করতে চাইলে এই কাজ করবে? কোষগুলি আনমারেজ করুন।
নিকসভি

শর্তের ভিত্তিতে আমি কীভাবে কলামগুলি মার্জ করব?
প্রশান্ত পিম্পলে

4
@ প্রশান্তপিম্পলে আমি আপনার প্রশ্নটি বুঝতে পারি না। মনে রাখবেন যে আপনি যে পরিসরটির একত্রীকরণ করতে চান সেই কক্ষগুলিকে সংলগ্ন হওয়া দরকার।
কার্লস সংস্থা 8:15

4
এখানে অতিরিক্ত তথ্য হিসাবে। মার্জ হওয়ার পরে কেবলমাত্র শীর্ষের বাম
ঘরটিই

77

আপনি যদি গতিশীল কক্ষগুলি মার্জ করতে চান তবে আপনি এটি ব্যবহার করতে পারেন:

worksheet.Cells[FromRow, FromColumn, ToRow, ToColumn].Merge = true;

এই সমস্ত পরিবর্তনশীল পূর্ণসংখ্যা হয়।


7

আপনি একটি এক্সটেনশন পদ্ধতি তৈরি করতে পারেন:

public static void Merge(this ExcelRangeBase range)
{
    ExcelCellAddress start = range.Start;
    ExcelCellAddress end = range.End;
    range.Worksheet.Cells[start.Row, start.Column, end.Row, end.Column].Merge = true;
}

আপনি ইন্টারোপের মাধ্যমে যেমন ব্যবহার করতে পারেন:

range.Merge();
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.