का उपयोग कर स्प्रैडशीट डेटा से पंक्तियों प्राप्त करें। अब मैं जो की स्थिति से मेल खाता है एक्सेल से मूल्यों को लाने के लिए चाहते हैं (उदाहरण के लिए।, दिनांक के अनुसार फ़िल्टर उपयोगकर्ता नाम) और ऐप्स में स्क्रिप्ट के साथ प्रदर्शित करते हैं।मैं स्प्रैडशीट पर फ़ॉर्म डेटा लिखने के लिए Google ऐप स्क्रिप्ट का उपयोग कर रहा Google एप्लिकेशन स्क्रिप्ट
मेरे स्प्रेडशीट
+-------------+-----------+----------------------+
| Date | Username | Comment |
+-------------+-----------+----------------------+
| 2012-05-02 | palani | My first comment |
| 2012-05-02 | raja | My second comment |
| 2012-05-03 | palani | My third comment |
| 2012-05-03 | raja | My fourth comment |
+-------------+-----------+----------------------+
अब मैं उपयोगकर्ता नाम पर तारीख को 2012-05-02
और raja
के लिए डेटा फ़िल्टर और ऐप्स-लिपि में लेबल (जो एक वेब सेवा के रूप में चल रहा है) का उपयोग कर उन्हें प्रदर्शित करना चाहते हैं नहीं है।
मेरी सभी खोजें SpreadsheetApp.getActiveSheet().getDataRange();
का उपयोग करके समाधान लौटती हैं जो मुझे लगता है कि शीट में 1000+ पंक्तियों में से एक रिकॉर्ड प्रदर्शित करने के लिए अनुकूलित तरीका नहीं है।
संपादित
अभी, मैं .getValues()
केवल उपयोग कर रहा हूँ। और यहां दिखाया गया डेटा नमूना के लिए है; मेरे असली शीट में अब 15 कॉलम और 5000+ पंक्तियां हैं। और अंत में यह लाखों तक बढ़ेगा क्योंकि यह एक टाइमशीट आवेदन है। मैं सोच रहा हूँ वहाँ फ़िल्टर की गई पंक्तियों की getValues()
के लिए किसी भी अन्य तरीका है?
एक tmp सेल पर =Filter
सूत्र लागू करना भी एक मुद्दा, के रूप में स्क्रिप्ट लोगों की संख्या से एक साथ इस्तेमाल किया जा सकता है किया जाएगा।
जाँच करने के लिए इस पाश में एक पाश
for (i in data) {
बनाने के लिए
var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
तो का उपयोग कर किसी सरणी में मूल्यों को प्राप्त:
दुर्भाग्य से लागू फिल्टर के साथ getValues करने के लिए कोई रास्ता नहीं है। लेकिन यदि आपका डेटा लाखों पंक्तियों में बढ़ता है, तो स्क्रिप्ट आपकी प्राथमिक चिंता नहीं होगी, क्योंकि स्प्रेडशीट में केवल 400 हजार कोशिकाएं हो सकती हैं। –