2013-12-12 10 views
5

संपादित करें: इन उदाहरणों को सभी काम करना चाहिए। मेरी समस्या वास्तव में एपप्लस से संबंधित नहीं थी और इस कोड के साथ-साथ चिह्नित उत्तर विलय कोशिकाओं के स्टाइल के लिए काम करता है।ईपीप्लस: विलय कोशिकाओं को कैसे शैलीबद्ध करें?

मैं एक मर्ज किए गए सेल को स्टाइल करने में सक्षम होना चाहता हूं, हालांकि, शैली के मेरे प्रयासों का कोई प्रभाव नहीं पड़ता है।

WorkSheet.Cells["A1:K1"].Style.Fill.PatternType = ExcelFillStyle.Solid; 
WorkSheet.Cells["A1:K1"].Style.Fill.BackgroundColor.SetColor(Color.Black); 
WorkSheet.Cells["A1:K1"].Style.Font.Color.SetColor(Color.Red); 

एक और तरीका है मैं कोशिश की है:

WorkSheet.Cells["A1:K1"].Merge = true; 

यहाँ कैसे मैं इस बनाए गए सेल पर पृष्ठभूमि और फ़ॉन्ट रंग सेट करने के लिए कोशिश की है है: यहाँ मैं कैसे कोशिकाओं विलय कर रहा हूँ

WorkSheet.Cells["A1"].Style.Fill.PatternType = ExcelFillStyle.Solid; 
WorkSheet.Cells["A1"].Style.Fill.BackgroundColor.SetColor(Color.Black); 
WorkSheet.Cells["A1"].Style.Font.Color.SetColor(Color.Red); 

फिर भी एक और तरह से मैं कोशिश की है:

WorkSheet.Cells[1, 1].Style.Fill.PatternType = ExcelFillStyle.Solid; 
WorkSheet.Cells[1, 1].Style.Fill.BackgroundColor.SetColor(Color.Black); 
WorkSheet.Cells[1, 1].Style.Font.Color.SetColor(Color.Red); 

मुझे यहाँ क्या याद आ रही है? मैं अन्य कोशिकाओं को स्टाइल करने में सक्षम हूं जिन्हें कोई कठिनाई नहीं मिली है, लेकिन मेरी विलय वाली कोशिकाएं नहीं बदलेगी।

+0

बस विलय करने और स्टाइल करने वाले प्रत्येक सेल के माध्यम से लूपिंग करने का प्रयास किया, वर्कशीट की कोशिश की। कैल्स [1, 1, 1, 11] .... कोई सफलता नहीं। – Jakotheshadows

उत्तर

11

मैं समस्या को पुन: उत्पन्न नहीं कर सकता .. यहां मर्ज किए गए सेल स्टाइल का एक उदाहरण है। देखें कि क्या आप पाते हैं कि आपने क्या किया है। आपको बस इतना करना है कि इसे चलाएं।

यदि आपको कोई संदेह है तो कृपया मुझे बताएं।

var stream = new MemoryStream(); 

// print header 
using (var package = new ExcelPackage(stream)) 
{ 
    // add a new worksheet to the empty workbook 
    var worksheet = package.Workbook.Worksheets.Add("testsheet"); 
    for(var i = 0; i < 10; i++) 
     worksheet.Cells[i + 1, 1].Value = i.ToString(); 

    worksheet.Cells["A1:A3"].Merge = true; 
    worksheet.Cells["A1:A3"].Style.VerticalAlignment = ExcelVerticalAlignment.Top; 
    worksheet.Cells["A1:A3"].Style.Border.Top.Style = ExcelBorderStyle.Thin; 
    worksheet.Cells["A1:A3"].Style.Border.Left.Style = ExcelBorderStyle.Thin; 
    worksheet.Cells["A1:A3"].Style.Border.Right.Style = ExcelBorderStyle.Thin; 
    worksheet.Cells["A1:A3"].Style.Border.Bottom.Style = ExcelBorderStyle.Thin; 
    worksheet.Cells["A1:A3"].Style.Fill.PatternType = ExcelFillStyle.Solid; 
    worksheet.Cells["A1:A3"].Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml("#f0f3f5")); 

    package.Save(); 
} 

stream.Seek(0, SeekOrigin.Begin); 

using (Stream file = File.Open("sample.xlsx", FileMode.Create)) 
{ 
    var buffer = new byte[8 * 1024]; 
    int len; 
    while ((len = stream.Read(buffer, 0, buffer.Length)) > 0) 
     file.Write(buffer, 0, len); 
} 
+0

धन्यवाद। मेरा उदाहरण भी काम करता है, मैंने जो कोड दिखाया था वह एक असंबंधित मुद्दे के कारण निष्पादित नहीं किया जा रहा था। मैंने गलती से माना कि मैं गलत तरीके से ईपीप्लस का उपयोग कर रहा था। – Jakotheshadows

+0

जानना अच्छा है !!! –

संबंधित मुद्दे