EPPlus का उपयोग कर कोशिकाओं को मिलाएं?


93

मैं Excel फ़ाइलों को पढ़ने / लिखने के लिए EPPlus लाइब्रेरी का उपयोग कर रहा हूं: 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;
    }
}

मर्ज नाम की एक संपत्ति है जो केवल सही या गलत है। मैंने सोचा कि शायद यह कोशिकाओं को मिलाएगा, लेकिन ऐसा नहीं है।

क्या कोई जानता है कि इसे कैसे करना है?

जवाबों:


164

आपको इसका उपयोग इस तरह करना है:

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

के बजाय:

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

मैं vb.net में कोशिकाओं को मर्ज करने के लिए डायनामिक मापदंडों को कैसे पारित कर सकता हूं
हरि

अगर मैं इसके विपरीत करना चाहता था तो क्या यह काम करेगा? कोशिकाओं को अनमना करें।
निकोसव

मैं शर्त के आधार पर कॉलम कैसे मिला सकता हूं?
प्रशांत पिंपले

1
@PrashantPimpale मैं आपके प्रश्न को नहीं समझता। ध्यान रखें कि जिस श्रेणी में आप विलय करना चाहते हैं, उसमें कोशिकाओं को आसन्न होना चाहिए।
कंपनी

2
बस एक अतिरिक्त जानकारी के रूप में यहाँ। केवल सबसे ऊपर के बाएं सेल वैल्यू को मर्ज करने के बाद रखा जाएगा (बाकी सेल वैल्यू को नजरअंदाज कर दिया जाएगा)
जिज्ञासु बोए

76

यदि आप कोशिकाओं को गतिशील रूप से विलय करना चाहते हैं, तो आप भी उपयोग कर सकते हैं:

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();
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.