मेरे पास एक डेटाबेस है जो सीरियल नंबर द्वारा विगेट्स की बिक्री को ट्रैक करता है। उपयोगकर्ता क्रेता डेटा और मात्रा दर्ज करते हैं, और प्रत्येक विजेट को एक कस्टम क्लाइंट प्रोग्राम में स्कैन करते हैं। वे तब आदेश को अंतिम रूप देते हैं। यह सब त्रुटिपूर्ण काम करता है।
कुछ ग्राहक अपने द्वारा खरीदे गए विजेट के एक्सेल-संगत स्प्रेडशीट चाहते हैं। हम इसे एक PHP स्क्रिप्ट के साथ उत्पन्न करते हैं जो डेटाबेस पर सवाल उठाता है और परिणाम को स्टोर नाम और संबंधित डेटा के साथ CSV के रूप में आउटपुट करता है। यह पूरी तरह से अच्छी तरह से भी काम करता है।
जब एक पाठ संपादक जैसे नोटपैड या vi में खोला जाता है, तो फाइल इस तरह दिखाई देती है:
"Account Number","Store Name","S1","S2","S3","Widget Type","Date"
"4173","SpeedyCorp","268435459705526269","","268435459705526269","848 Model Widget","2011-01-17"
जैसा कि आप देख सकते हैं, सीरियल नंबर मौजूद हैं (इस मामले में दो बार, सभी माध्यमिक धारावाहिक समान नहीं हैं) और संख्याओं के लंबे तार हैं। जब यह फ़ाइल Excel में खोली जाती है, तो परिणाम बनता है:
Account Number Store Name S1 S2 S3 Widget Type Date
4173 SpeedyCorp 2.68435E+17 2.68435E+17 848 Model Widget 2011-01-17
जैसा कि आपने देखा होगा, सीरियल नंबर डबल कोट्स द्वारा संलग्न हैं। Excel .csv फ़ाइलों में पाठ क्वालिफ़ायर्स का सम्मान नहीं करता है। इन फ़ाइलों को Access में आयात करते समय, हमें शून्य कठिनाई होती है। उन्हें पाठ के रूप में खोलते समय, कोई परेशानी नहीं। लेकिन एक्सेल, बिना असफल, इन फाइलों को बेकार कचरा में परिवर्तित करता है। गैर-डिफ़ॉल्ट एप्लिकेशन के साथ CSV फ़ाइल खोलने की कला में अंत उपयोगकर्ताओं को निर्देश देने की कोशिश हो रही है, हम कहेंगे, थकाऊ। क्या कोई उम्मीद है? क्या कोई सेटिंग है जिसे मैं खोजने में असमर्थ हूं? यह एक्सेल 2003, 2007 और 2010 के मामले में लगता है।
Excel does not seem to respect text qualifiers in .csv files
- डबल कोट्स टेक्स्ट क्वालिफ़ायर नहीं हैं , वे बस आपके डेटा में कॉमा की अनुमति देते हैं, यदि आप अपने डेटा में कॉमा का उपयोग नहीं करते हैं तो वे अर्थहीन हैं । CSV फ़ाइल का सभी डेटा अप्रमाणित है, इसलिए एक्सेल केवल अनुमान लगा सकता है कि आपका बड़ा सीरियल नंबर एक नंबर है , और जब आप एक्सेल की अधिकतम 15 अंकों की सटीकता से चलते हैं , जो कि आपके नंबरों को काट रहा है।