extjs - एक्सटस ग्रीड डेटा को एक्सेल करने के लिए कैसे निर्यात करें?




extjs4.2 (4)

मेरे पास बड़ी संख्या में अभिलेख हैं मैं आवश्यक रूप से डेटा को फ़िल्टर करने के लिए फिल्टर का उपयोग करता हूं लेकिन मैं फ़िल्टर्ड डेटा को अधिक उपयोग के लिए एक्सेल शीट में निर्यात करना चाहता हूं।

मैं कुछ लेखों के माध्यम से चला गया, लेकिन वे अलग दिखते हैं और नवीनतम 4.2 संस्करण के साथ संगत नहीं हैं।

कृपया इसे सरल तरीके से प्राप्त करने में मेरी सहायता करें।

बहुत धन्यवाद!


Answers

जहां तक ​​मुझे पता है कि क्रॉस ब्राउज़र तरीके से सर्वरसेवा कार्यान्वयन के बिना यह संभव नहीं है।

सिद्धांत में आप स्टोर से मौजूदा रिकॉर्ड को पढ़कर ओपनएक्सएमएल दस्तावेज़ स्ट्रिंग बनाते हैं और इसे बेस 64 के साथ सांकेतिक शब्दों में कहें। फिर इसे Data Uri लिखें पहला जो इनलाइन डेटा को अन्य चित्रों की अनुमति नहीं देता I आईई है इसलिए यह सभी IE ब्राउज़र संस्करण के लिए काम नहीं करेगा क्योंकि आकार और छवियों जैसी सीमाएं ही हैं। यह कारण होगा कि तिथि लागू करने के लिए कोई अपवाद नहीं है।


एक्सटेंशन जेएस के लिए इस दृष्टिकोण को सफलतापूर्वक लागू किया गया। इसे एक अमूर्त वर्ग की लचीलापन देने के लिए निर्देशों का पालन करें:

  1. यहां से कार्य करें और उन्हें वैश्विक रूप से एक अलग कक्षा में निकालें।
  2. वैश्विक फ़ंक्शन कॉल्स के सभी "यह" फ़ंक्शन संदर्भ बदलें।

  3. प्रविष्टि एक (downloadExcelXml ()) के साथ शुरू से सभी कार्यों के लिए "ग्रिड" पैरामीटर जोड़ें।

  4. शेष "यह" कॉल को ग्रिड संदर्भ में बदलें (जैसा फ़ंक्शन किसी ग्रिड के अंदर कार्य करने की उम्मीद थी)

  5. अब इस बटन को अपने ग्रिड कन्स्ट्रक्टर में जोड़ें और इस तरह एक हेन्डलर के रूप में डाउनलोड करें एक्ससेलक्समल () को कॉल करें:

    exportButton = {
      xtype: 'button',
      text: 'xls',
      listeners: {
      click: function (button, event, eOpts) {
        downloadExcelXml(
          false,
          "TableHeader",
          eOpts.data.grid);
      },
      data: {
        grid: this
      }
    };


ऐसा कुछ बॉक्स से बाहर नहीं आया है हालांकि एक्स्टजेएस से एक्सेल तक कुछ निर्यातक है: http://www.sencha.com/forum/showthread.php?136598-export-store-to-excel

हम आंतरिक रूप से हमारे एक्सेल बैकएंड को एनएटी के साथ उत्पन्न करते हैं इसलिए हमारे पास अधिक नियंत्रण है।