2009-05-24 12 views
10

मुझे एक सी # प्रोग्राम बनाना है जो सीएसवी फाइलें बनाता है और लंबी संख्या रखता है (मेरे प्रोग्राम में स्ट्रिंग के रूप में)। समस्या यह है, जब मैं Excel में इस CSV फ़ाइल को खोलने संख्या इस तरह दिखाई:Excel में लंबी संख्या कैसे दिखाएं?

1234E + या 1234560000000 (संख्या के अंत है 0)

मैं कैसे संख्या के स्वरूपण को बनाए रखने? अगर मैं फ़ाइल को टेक्स्ट फ़ाइल के रूप में खोलता हूं, तो संख्याओं को सही ढंग से स्वरूपित किया जाता है।

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

उत्तर

8

स्वरूप सामने '(अपॉस्ट्रफ़ी) डाल या इसे से बाहर एक सूत्र बनाकर तारों के रूप में उन लंबे संख्या: = "1234567890123"

+1

एस्ट्रोफ़े एक्सेल में दिखाई देता है, हालांकि फार्मूला चाल gr है खाना खा लो। – Chris

0

आप नहीं कर सकते। एक्सेल परिशुद्धता के पंद्रह अंकों के साथ संख्याओं को स्टोर करता है। यदि आपको एक्सेल के भीतर से संख्याओं पर गणना करने की क्षमता नहीं है, तो आप उन्हें टेक्स्ट के रूप में स्टोर कर सकते हैं, और सभी अंक प्रदर्शित होंगे।

0

जब मैं Excel में आयात करने के लिए डेटा उत्पन्न करता हूं, तो मैं एक CSV फ़ाइल उत्पन्न नहीं करता अगर मैं डेटा को प्रदर्शित करने के तरीके पर नियंत्रण रखना चाहता हूं। इसके बजाय, मैं एक एक्सेल फ़ाइल लिखता हूं जहां कोशिकाओं के गुण उचित रूप से सेट होते हैं। मुझे नहीं पता कि वहाँ एक लाइब्रेरी है या नहीं, जो आपके लिए फाइलों को उत्पन्न करने वाली मशीन पर एक्सेल स्थापित करने की आवश्यकता के बिना सी # में करेगी, लेकिन यह देखने के लिए कुछ है।

16

जैसा कि अन्य ने उल्लेख किया है, आप डेटा को एक स्ट्रिंग होने के लिए मजबूर कर सकते हैं। इसके लिए सबसे अच्छा तरीका = "1234567890123" था। = सेल को एक सूत्र बनाता है, और उद्धरण चिह्न संलग्न मान को एक्सेल स्ट्रिंग अक्षर बनाता है। यह एक्सेल की संख्यात्मक परिशुद्धता सीमा से परे सभी अंकों को प्रदर्शित करेगा, लेकिन सेल (आमतौर पर) संख्यात्मक गणनाओं में सीधे उपयोग नहीं किया जा सकेगा।

यदि आपको संख्यात्मक रहने के लिए डेटा की आवश्यकता है, तो संभवतः मूल एक्सेल फ़ाइल (.xls या .xlsx) बनाने का सबसे अच्छा तरीका है। इसके लिए विभिन्न दृष्टिकोण this related Stack Overflow question के समाधान में पाए जा सकते हैं।

यदि आपको हजारों विभाजक होने पर कोई फर्क नहीं पड़ता है, तो आप एक अन्य चाल का उपयोग कर सकते हैं, जो आपके सी # कार्यक्रम को हजारों विभाजक डालने और उद्धरणों में मूल्य को घेरने के लिए है: "1,234,567,890,123"। एक अग्रणी = शामिल न करें (क्योंकि यह एक स्ट्रिंग होने के लिए मजबूर करेगा)। ध्यान दें कि इस मामले में, उद्धरण चिह्न CSV में अल्पविरामों की सुरक्षा के लिए हैं, एक्सेल स्ट्रिंग अक्षर निर्दिष्ट करने के लिए नहीं।

+0

कॉमास तकनीक केवल परिशुद्धता के 15 अंकों तक काम करती है, इसके बाद यह शून्य हो जाती है। कम से कम यह वैज्ञानिक नोटेशन में नहीं है, हालांकि। – Chris

+0

= "1234564 ..." चाल के लिए अंगूठे, हालांकि, महान काम करता है! मुझे यह याद रखना होगा। – Chris

0

        मेरे दो सेंट:
        मुझे लगता है कि यह महसूस करना वहाँ "डेटा" और "स्वरूपण" बीच एक अंतर है महत्वपूर्ण है। इस उदाहरण में आप डेटा-केवल फ़ाइल में स्टोर करने की कोशिश कर रहे हैं। यह, जैसा कि आप अन्य उत्तरों से बता सकते हैं, डेटा की प्रकृति को बदलें। (दूसरे शब्दों में इसे एक स्ट्रिंग में परिवर्तित करने का कारण बनता है। एक सीएसवी फ़ाइल केवल एक डेटा है। आप डेटा के साथ स्वरूपण मर्ज करने के लिए यहां और वहां कुछ चाल कर सकते हैं, लेकिन सोचने के मेरे तरीके से यह विलय करके डेटा को अनिवार्य रूप से दूषित करता है गैर डेटा मूल्यों के साथ यह: यानी: "स्वरूपण"
        तुम सच में स्वरूपण जानकारी मेरा सुझाव है कि, यदि आप इसे बाहर विकसित करने के लिए समय है, तो आप में सक्षम एक फ़ाइल प्रकार के लिए स्विच स्टोर करने के लिए सक्षम होने के लिए की जरूरत है। डेटा से अलग रूप से स्वरूपण जानकारी संग्रहीत करने के लिए। ऐसा लगता है कि यह समस्या एक्सएमएल स्प्रेडशीट समाधान के लिए एक अच्छा उम्मीदवार होगा। इस तरह आप केवल अपना डेटा निर्दिष्ट नहीं कर सकते हैं, बल्कि यह भी टाइप और किसी भी स्वरूपण का उपयोग करने के लिए चुनते हैं।

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