2016-07-29 8 views
7

मैं एक शीर्ष लेख पंक्ति शैली करने के लिए प्रयास करने के लिए इस कोड को मिल गया है:ईपीप्लस मुझे क्यों बता रहा है कि जब मैंने पैटर्न टाइप सेट किया है तो "पैटर्न टाइप नहीं होने पर रंग सेट नहीं किया जा सकता"? ।।

worksheet.Cells["A32:D32"].Style.Font.Name = "Georgia"; 
worksheet.Cells["A32:D32"].Style.Font.Bold = true; 
worksheet.Cells["A32:D32"].Style.Font.Size = 16; 
worksheet.Cells["A32:D32"].Style.Fill.PatternType = ExcelFillStyle.Solid; 
worksheet.Cells["A32:D33"].Style.Fill.BackgroundColor.SetColor(Color.CornflowerBlue); 

यह साथ ऊपर अंतिम पंक्ति पर विफल रहता है "System.ArgumentException बिना क्रिया .Message था = रंग सेट नहीं कर सकता जब patterntype सेट नहीं है। स्रोत = ईपीप्लस ... "

वास्तविक समस्या क्या हो सकती है? मैं पूर्वाह्न क्या कर रहा है यह क्लाइम्स मैं नहीं हूँ, है ना?

अधिक संदर्भ के लिए:

worksheet.Cells["A32"].LoadFromCollection(bookDataList, true); 
// style header row 
worksheet.Cells["A32:D32"].Style.Font.Name = "Georgia"; 
worksheet.Cells["A32:D32"].Style.Font.Bold = true; 
worksheet.Cells["A32:D32"].Style.Font.Size = 16; 
worksheet.Cells["A32:D32"].Style.Fill.PatternType = ExcelFillStyle.Solid; 
worksheet.Cells["A32:D33"].Style.Fill.BackgroundColor.SetColor(Color.CornflowerBlue); 
// style the rest 
worksheet.Cells["A33:D59"].Style.Font.Name = "Candara"; 
worksheet.Cells["A33:D59"].Style.Fill.PatternType = ExcelFillStyle.Solid; 
worksheet.Cells["A33:D59"].Style.Fill.BackgroundColor.SetColor(Color.Cornsilk); 

ध्यान दें कि मैं कोड से पहले "शैली शीर्ष लेख पंक्ति" जोड़ने के लिए "बाकी शैली" था और इस समस्या में पड़ नहीं किया। यह कोड पैटर्न टाइप टाइप करने के लिए बिल्कुल वैसा ही है और फिर पृष्ठभूमि रंग (रंग का उपयोग करने के अलावा, और कोड की कोशिकाओं की सीमा को लागू करने के लिए)। दो पंक्तियों में

+0

मुझे यह लाइन याद आ रही थी: वर्कशीट। कैल्स ["ए 32: डी 32"]। स्टाइल.फिल। पैटर्न टाइप = एक्सेलफिल स्टाइल। ठोस; – Kadaj

उत्तर

11

देखो बारीकी:

worksheet.Cells["A32:D32"].Style.Fill.PatternType = ExcelFillStyle.Solid; 
worksheet.Cells["A32:D33"].Style.Fill.BackgroundColor.SetColor(Color.CornflowerBlue); 

दूसरी पंक्ति D33 बजाय D32 इसलिए यदि D33 अभी तक सेट नहीं है यह है कि त्रुटि फेंक है।

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