2011-12-23 15 views
6

में किसी सेल के टेक्स्ट में लाइन ब्रेक डालें, मैं इंटरऑप का उपयोग कर एक्सेल शीट लिख रहा हूं। शीट में मुझे एक सेल में वाक्यों का एक सेट डालना होगा। पाठ एक लाइन ब्रेक तरीके से होना चाहिए। इसे कैसे प्राप्त किया जा सकता है?सी # एक्सेल इंटरऑप, एक्सेल

अग्रिम धन्यवाद।

+1

क्या आप सेल को चौड़ाई आवंटित नहीं कर सकते हैं, फिर झूठी पर आस्ट्रैप सेट कर सकते हैं? या आपको विशिष्ट जगह पर लाइन-ब्रेक करने की आवश्यकता है? – KMC

+0

हाय मुझे सेल में डेटा की कई पंक्तियां डालने की ज़रूरत है। और पंक्तियों को अलग पंक्ति होना चाहिए, जिसका अर्थ है कि प्रत्येक पंक्ति को एक नई पंक्ति से शुरू होना चाहिए। – Thanushka

+0

"प्रत्येक पंक्ति को एक नई पंक्ति से शुरू होना चाहिए" ?? सेल पंक्ति/रेंज, या उसी सेल के भीतर नई लाइन के रूप में पंक्ति? – KMC

उत्तर

6

यह या तो "\ r \ n" या पर्यावरण में प्रवेश करके किया गया था। न्यूलाइन। और लाइन ब्रेक को देखने के लिए WrapText संपत्ति को सही बनाने के लिए भी याद रखना चाहिए।

+0

यह मजाकिया है कि सही उत्तर डाउनवॉट किया जा रहा है। मैं इसके लिए +1 दूंगा। – Rudy

+1

जबकि यह नई लाइन बनाता है - यह प्रत्येक पंक्ति के अंत में एक छोटा चतुर्भुज बॉक्स रखता है - क्या इससे छुटकारा पाने का कोई तरीका है? – user1514042

+0

हाय, क्षमा करें मुझे वह नहीं मिला। – Thanushka

1

एक्सेल सेल के भीतर नई पंक्ति एलएफ चरित्र है, जो सी # में "\n" है।

0

में वीबी, या VBA, मैं vbCrLf (केस संवेदी) का उपयोग करने के वाक्य को अलग करने के निम्नलिखित की तरह एक एक्सेल के सेल में लाइनों को अलग करने के लिए प्रयोग किया जाता:

Dim myString As String 
myString = "First sentence" & vbCrLf & "Second sentence" 
ActiveCell.ForumulaR1C1 = myString 

में सी #, मैं बल्कि विश्वास है कि वीबी के vbCrLf की सी # बराबर "\r\n" है, इसलिए कर रहा हूँ:

myString = "First sentence\r\n" + "Second sentence" 
-2

इस समस्या का उत्तर आगे है और स्ट्रिंग के अंत में "एक्सेल" को जोड़ना है जिसे आप अपने एक्सेल सेल में प्रदर्शित करना चाहते हैं। सी # में यह कुछ होगा (कनवर्ट.ओचर (34) + स्ट्रिंगटॉएक्सपोर्ट + कन्वर्ट। टॉहर (34))

+0

एक्सेल में उद्धृत मल्टीलाइन स्ट्रिंग (जिसमें लाइन ब्रेक पहले से ही \ r \ n' नहीं हैं) डालने वाले बहुत तेज़ परीक्षण से, यह काम नहीं करता है। इसके अलावा इस प्रश्न के पास 2 साल के लिए एक स्वीकार्य उत्तर है। – OGHaza

+0

वैसे यह मेरे लिए ठीक काम करता है। मैंने इसे एक्सेल में सीधे परीक्षण नहीं किया। मैं अपने ऐप में एक कॉपी इवेंट को एक पाठ के साथ संभालने वाला था जिसमें \ r \ n था जिसे मैं एक्सेल अनन्य सेल में पेस्ट करना चाहता था। उपरोक्त कोड ने इसे काम किया है। –

+0

ओपी के अपने उत्तर को पढ़ने से आप देख सकते हैं कि उनका मुद्दा यह था कि डेटा में पहले से ही \ r \ n' नहीं था। – OGHaza

1

एक्सेल सेल के भीतर नई लाइन एलएफ चरित्र है, जो सी # में "\ n" है। और सेल की WrapText संपत्ति को सत्य पर सेट करना न भूलें।

2

आप कोशिकाओं programically के रूप में bellow

worksheet.Cells.Style.WrapText के लिए शैली में जोड़ सकते हैं = true

0

मुझे इस समस्या का सामना करना पड़ा है लेकिन अंतर यह है कि मुझे कोड में वर्कशीट तक पहुंच नहीं है क्योंकि मैं इसे केवल स्मृति स्ट्रीम में पास करता हूं, फिर फ़ाइल को .csv प्रकार के रूप में बना देता हूं।

foreach (var s in propertyValues) 
       streamWriter.WriteLine(s); 

      streamWriter.Flush(); 
      memoryStream.Seek(0, SeekOrigin.Begin); 

मैं इसे यहां से उपयोग करता हूं।

subjExportData.FileStream = stream; 
      subjExportData.FileName = string.Format("SubjectExport_{0}.csv", DateTime.Now.ToString("ddMMyyyy_HHmm")); 

तो पाठ या सेल रैप सेट करने के लिए यहां सुझाव एक विकल्प नहीं है। इसे उपर्युक्त उत्तर का उपयोग करके काम कर रहा है और टेक्स्ट/स्ट्रिंग के पहले और बाद में एक डबल कोट डाला गया है। प्रतिस्थापन को संभालने के लिए है जब वाक्य में इसके अंदर एक डबल कोट भी है। तो यह समाधान वाक्य या अनुच्छेद के अंदर, नई लाइन, अल्पविराम और डबल कोट्स को संभालता है।

if (value.ToString().Contains("\n")) 
           { 
            value = value.ToString().Replace("\n", "\r\n"); 
            sb.Append('"'+ value.ToString().Replace(@"""", @"""""") + '"'+ ","); 
           } 
संबंधित मुद्दे