2012-05-23 16 views
6

मैं वर्तमान में अन्य रिपोर्टों के आधार पर एक्सेल फ़ाइल में रिपोर्ट जेनरेट करने के लिए एक एप्लिकेशन (सी #) लिख रहा हूं।मैं सी # का उपयोग कर एक्सेल सेल के टेक्स्ट प्रारूप को कैसे बदल सकता हूं?

समस्या यह है कि, एक बार एक निश्चित शीट से एक संख्या प्राप्त करने के बाद, और दूसरे को कॉपी करें, गंतव्य कक्ष सही ढंग से नहीं बनाया गया है, और संख्या सही ढंग से प्रदर्शित नहीं होती है।

E.g : 
Number from source : 14.34 
Number on destination : 14.345661 

मैं स्रोत सेल के रूप में समान संख्या को बनाने के लिए गंतव्य सेल को कैसे प्रारूपित कर सकता हूं।

धन्यवाद!

+0

विभिन्न उदाहरण "# ##।": Https://support.office.com/ en-us/article/create-or-delete-a-custom-number-format-2d450d95-2630-43b8-bf06-ccee7cbe6864? ui = en-US & rs = en-US और विज्ञापन = यूएस –

उत्तर

4

एक्सेल में दिए गए सेल/रेंज का प्रारूप कोड के माध्यम से सेट किया जा सकता है।

public void SetCustomFormat(string format, int r, int c) 
{ 
    ((Excel.Range)xlWks.Cells[r, c]).NumberFormat = format; 
} 

अपने विशिष्ट मामले में, मुझे लगता है कि आप यहाँ प्रारूप "# .00" या उनका उपयोग करना होगा

+0

मैं इसे आज़मा दूंगा। –

+0

इस xlWks चर को खोजने के लिए देखा गया। क्या यह वर्कशीट है? –

+0

हां, यह वर्कशीट वैरिएबल है। मैंने xlWks वैरिएबल का उपयोग करके अपने कोड में आंतरिक रूप से परिभाषित किया है। – Nevyn

3

यहां कुछ कोडों का एक स्निपेट है जो मुझे उपयोग में मिला है, ताकि आप कोशिकाओं को स्वरूपित करने के लिए सामान्य पैटर्न दिखा सकें। जाहिर है, कुछ चर घोषित किए गए हैं, लेकिन यह आपको दिखाना चाहिए कि आपको क्या चाहिए।

sheet.get_Range("A" + CurrentRowIndex.ToString(), ColPrefix + CurrentRowIndex.ToString()).Font.Bold = true; 
sheet.get_Range("A" + CurrentRowIndex.ToString(), ColPrefix + CurrentRowIndex.ToString()).Interior.Color = Color.Silver.ToArgb(); 
sheet.get_Range("A" + CurrentRowIndex.ToString(), ColPrefix + CurrentRowIndex.ToString()).BorderAround(Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous, Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic, null); 
sheet.get_Range("A" + CompetencyStartRowIndex.ToString(), ColPrefix + CurrentRowIndex.ToString()).BorderAround(Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous, Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin, Microsoft.Office.Interop.Excel.XlColorIndex.xlColorIndexAutomatic, null); 

पहली पंक्ति, यह मानते हुए CurrentRowIndex = 1 और ColPrefix = "बी" जिसके परिणामस्वरूप मूल्यों के साथ चर की जगह

sheet.get_Range("A1", "B1").Font.Bold = true; 

में अनुवाद होगा कि किसी भी हाल में आप numberformat सेट करना चाहते हैं। (आ रहा है ..)

sheet.Cells[Row, Column].NumberFormat = "0.00" 
+0

सहायता के लिए धन्यवाद, लेकिन यह है मैं जो खोज रहा हूं वह नहीं। मैं सेल के अंदर पाठ को प्रारूपित करने का एक तरीका ढूंढ रहा हूं, न कि सेल स्वयं पृष्ठभूमि या फ़ॉन्ट प्रारूप की तरह। मैं चाहता हूं कि पाठ को किसी अन्य तरीके से व्याख्या किया जाए –

+0

मेरे उत्तर में आखिरी पंक्ति जो आप ढूंढ रहे हैं उसका उत्तर देने लगती है। शायद मुझे बाकी को हटा देना चाहिए, क्योंकि यह अपरिपक्व है। कभी-कभी जब मैं संक्षिप्त होना चाहिए तो मैं मूर्खतापूर्वक पूरा होने की कोशिश करता हूं। ;-) – David

+0

हां, आखिरी पंक्ति मेरी समस्या हल करती है। धन्यवाद: डी –

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

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