2009-04-08 9 views
5

im वर्तमान में कुछ इस तरह का उपयोग कर एक सेल में इनलाइन स्ट्रिंग डालने के लिए:OPENXML स्प्रेडशीट सेल के भीतर लाइन ब्रेक कैसे डालें?

new Cell() 
{ 
    CellReference = "E2", 
    StyleIndex = (UInt32Value)4U, 
    DataType = CellValues.InlineString, 
    InlineString = new InlineString(new Text("some text")) 
} 

लेकिन \n लाइन ब्रेक डालने के लिए काम नहीं करता, मैं कैसे यह कर सकते हैं?

धन्यवाद


प्रतिक्रिया

new Cell(
     new CellValue("string \n string") 
     ) 
    { 
     CellReference = "E2", 
     StyleIndex = (UInt32Value)4U, 
     DataType = CellValues.String   
    } 

उत्तर

4

कोशिश CellValues.String बजाय CellValues.InlineString। के रूप में "लिपटा पाठ"

1.) मार्क सेल:

8

आप दो काम करने की जरूरत है। यदि आप अपने टेम्पलेट के रूप में मौजूदा स्प्रेडशीट का उपयोग कर रहे हैं तो आप इसे स्प्रेडशीट में हाथ से कर सकते हैं। बस सेल पर राइट-क्लिक करें और "प्रारूप कक्ष चुनें ..", "संरेखण" टैब पर क्लिक करें और "लपेटें पाठ" चेकबॉक्स पर क्लिक करें।
या ... आप सेलफॉर्मेट प्रोग्रामेटिक रूप से सेट कर सकते हैं। आप "सीएफ" नामक एक CellFormat वस्तु है, तो आप कुछ इस तरह करना होगा:

cf.ApplyAlignment = true;//Set this so that Excel knows to use it. 
if (cf.Alignment == null)//If no pre-existing Alignment, then add it. 
    cf.Alignment = new Alignment() { WrapText = true }; 
Alignment a = cf.Alignment; 
if (a.WrapText == null || a.WrapText.Value == false) 
    a.WrapText = new BooleanValue(true);//Update pre-existing Alignment. 

2.) आप उपयोग नहीं करना चाहिए "\ n", बजाय आप का उपयोग करना चाहिए मानक कैरिज-रिटर्न + लाइन-फीड संयोजन: "\ r \ n"
यदि आप दो (यानी "\ n" पहले से बिना "\ r" और "\ r \ n") मिश्रण कर रहे हैं, तो इसे ठीक करना चाहिए सेल मान को पॉप्युलेट करने से पहले:

sHeaderText = sHeaderText.Replace("\r\n", "\n").Replace("\n", "\r\n"); 

मैं, मैं, सेलवैल्यूज़ का उपयोग नहीं करता हूं। स्ट्रिंग या यहां तक ​​कि सेलवैल्यू.इनलाइनस्ट्रिंग
इसके बजाय मैं सेलवैल्यूज़ का उपयोग करके अपने टेक्स्ट सेल का निर्माण करता हूं। शेरस्टिंग (जैसे एक्सेल करता है)।
बूल के लिए मैं "सेलवैल्यूज़। बोलेन" का उपयोग करता हूं, और अन्य सभी (संख्यात्मक और तिथियों) के लिए मैं सेल के डेटाटाइप को किसी भी चीज़ पर सेट नहीं करता - क्योंकि जब मैं मार्कअप बनाता हूं तो Excel यही करता है।

+0

किसी दिए गए सेल पर 'सेलफॉर्मैट' ऑब्जेक्ट या 'संरेखण' ऑब्जेक्ट को आप कैसे लागू करते हैं? – Panzercrisis

+0

यह मेरे लिए काम नहीं करता है। मुझे बस \ r \ n के साथ लाइन पर एक त्रुटि मिलती है और एक्सेल पाठ के साथ शीट नहीं खोलेंगे कि यह दूषित है – johnstaveley

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