5

मैं वेब आधारित डेटाबेस का उपयोग कर रहा हूं जिसके लिए मुझे स्प्रेडशीट क्षमताओं को इसके सामने के अंत में जोड़ने की आवश्यकता है। मैं सोच रहा था कि मैं Google डॉक्स स्प्रेडशीट का उपयोग कर सकता हूं। ऐसा लगता है कि उनकी Google ऐप स्क्रिप्ट में कार्यात्मक रूप से मुझे आवश्यकता है। विशेष रूप से मैं स्प्रेडशीट और डीबी को सिंक में रखने के लिए एडिट ईवेंट के साथ यूआरएलफ़ेच सेवा का उपयोग कर सकता हूं - AJAX शैली। यह मुझे स्प्रैडशीट्स बनाने, सहेजने और साझा करने में बहुत लचीलापन भी देता हैवेब डेटाबेस में स्प्रेडशीट को जोड़ने का सबसे अच्छा तरीका

हालांकि Google App Script के बारे में कुछ चीजें मुझे रोक देती हैं। यह सर्वर-साइड चलाता है इसलिए स्थानीय रूप से डीबग करना मुश्किल है। इसमें ब्रेकपॉइंट्स या स्टेपिंग के साथ डीबगर का कोई भी प्रकार नहीं है। यह बाहरी मॉड्यूल या पुस्तकालय आयात नहीं कर सकता है। कोई JSLint नहीं। इनके बिना मैंने इसे "उह, ओह, यह चोट पहुंचाने जा रहा है" महसूस करना शुरू कर दिया।

तो मैं सोच रहा हूं कि क्या ब्राउज़र के सुलभ स्प्रेडशीट कार्यक्षमता पर मौजूदा वेब आधारित डेटाबेस पर बोल्ट करने का बेहतर तरीका है? या Google App Script से अधिक लाभ प्राप्त करने के लिए सर्वोत्तम प्रथाएं हैं?

संपादित करें: ये क्या अपने आवेदन के लिए सबसे अच्छा होगा के क्रम में संभावित समाधान हैं:

  1. ब्राउज़र आधारित जावास्क्रिप्ट स्प्रेडशीट इंजन। (मौजूद नहीं हो सकता है।)
  2. पायथन स्प्रेडशीट इंजन मॉड्यूल जिसे मैं Google App Engine पर इंस्टॉल कर सकता हूं। (मैंने इसे भी नहीं देखा है।)
  3. Google स्प्रेडशीट्स के लिए एक और मजबूत और AJAXian दृष्टिकोण। (मूल प्रश्न देखें।)
  4. ओपन सोर्स स्प्रेडशीट इंजन जो मैं ईसी 2 पर स्थापित कर सकता हूं। (ये मौजूद लगते हैं -। संभवतः SocialCalc, या Simple Spreadsheet सिफारिशें?)
+0

विशेष रूप से आपको किस स्प्रेडशीट कार्यक्षमता की आवश्यकता है? स्प्रेडशीट इन दिनों बहुत कुछ करते हैं! – RedFilter

+0

@RedFilter। ज्यादातर बुनियादी सूत्र, सेल संदर्भ, निर्भरता, मूल सेल स्वरूपण। बाकी सब कुछ एक बोनस होगा - एकाधिक चादरें, फैंसी सेल स्वरूपण। चार्ट शायद आवश्यक नहीं हैं। सबसे महत्वपूर्ण बात यह है कि मेरे डेटाबेस में एक्सएचआर प्रकार के अनुरोध करने में सक्षम है। – mjhm

+1

क्या आपने Google स्प्रेडशीट का उपयोग ब्राउज़र दृश्य के रूप में स्वयं ही किया है। डेटा को एक शीट में एक फॉर्मूला आयातडेटा (यूआरएल) के साथ एक सीएसवी लौटाना? – DavidF

उत्तर

2

हम एक वेब पेज पर स्प्रेडशीट कार्यक्षमता का उपयोग करते हैं, लेकिन स्प्रेडशीट की सभी सुविधाओं को स्क्रिप्ट करने के बजाय, हम गणना इंजन का उपयोग करते हैं जो हमें स्प्रेडशीट कार्यक्षमता का प्रोग्रामेटिक दिल देता है। एक गणना इंजन कैसे सूत्रों के प्रकार के सैकड़ों की गणना करने के निर्भरता (और निर्भरता के बीच क्रम) संभाल जानता है, सेल आदि स्वरूपण मेरी विशेष मामले में, हम का उपयोग SpreadsheetGear - http://www.spreadsheetgear.com/products/spreadsheetgear.net.aspx

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

शायद मुझे इस बिंदु पर आपके इनपुट की आवश्यकता है, यह देखने के लिए कि मेरा जवाब ट्रैक से बहुत दूर नहीं है।

+0

यह निश्चित रूप से सही रास्ते पर है। यदि कोई और नहीं बदलता है तो आप इसे खोज शब्द "गणना इंजन" और "स्प्रेडशीट इंजन" के लिए प्राप्त करते हैं। ये बहुत सारे आशाजनक विचारों को बदल दिया। मैं कुछ और विवरणों के साथ प्रश्न अपडेट करूंगा। – mjhm

0

तो मैं इस में अपने आप को खुदाई किया था, और यह थोड़ा चोट किया। यहाँ विवरण हैं:

बुरा:

  1. आप अपने संपादक, कोई JSLint उपयोग करना होगा।
  2. कोई डीबगर नहीं। स्क्रिप्ट सर्वर पक्ष चलाते हैं, इसलिए फ़ायरबग और अन्य ब्राउज़र उपकरण शून्य सहायता हैं। "व्यू-> निष्पादन प्रतिलेख" और "दृश्य-> लॉग" थोड़ी मददगार हैं। लेकिन वे "onEdit" घटनाओं में काम नहीं कर रहे हैं।
  3. वेब से कनेक्शन उनके UrlFetch सेवा के माध्यम से जाता है जिसमें एसिंक्रोनस मोड नहीं होता है। और यह "ऑनएडिट" घटनाओं के भीतर बिल्कुल भी काम नहीं करता है: http://code.google.com/p/google-apps-script-issues/issues/detail?id=185
  4. मूल रूप से उनके पास तीन ईवेंट प्रकार होते हैं। "ऑनलोड", "ऑनस्टॉल", और "ऑनएडिट"। विशेष रूप से मैं बुरी तरह से "ऑनक्लिक" घटना से चूक गया।
  5. कोई बाहरी पुस्तकालय समर्थन नहीं।

अच्छा:

  1. यह असली जावास्क्रिप्ट है, इसलिए यह जाहिर कार्य करता है, और मैं एक बाहरी JSLint उपकरण का उपयोग कर सकते हैं।
  2. शैलो सीखने की वक्र। चादरें, श्रेणियां, और सेट/मान प्राप्त करना महत्वपूर्ण अवधारणाएं हैं।
  3. स्प्रेडशीट आइटम, स्वरूपण इत्यादि में हेरफेर करने के लिए बहुत सारी कार्यक्षमता
  4. Google डेटा API समर्थन? मैंने इसका उपयोग नहीं किया है, लेकिन ऐसा लगता है कि बाहरी वेब संसाधनों से जुड़ने का तरीका है।
  5. अच्छी तरह से एकीकृत, मेरी स्प्रेडशीट पर लिखे गए अपडेट तुरंत स्प्रेडशीट को देखने वाले अन्य लोगों के लिए दृश्यमान होते हैं।

कुल मिलाकर इस माहौल में कई यूआई क्षमताओं के साथ संभावित क्षमता है, लेकिन यह अभी भी वास्तविक उत्पादन विकास करने के लिए कुछ महत्वपूर्ण कार्यक्षमताओं पर याद आती है।

1

स्प्रेडशीट फ्रंट-एंड क्षमता वाले वेब आधारित डेटाबेस? Ragic की तरह लगता है।

और आपने कहा कि आपको अपना बैकएंड विकसित करने की आवश्यकता है, मुझे लगता है कि आप डेटा को रैगिक में पोस्ट करने के लिए अपने HTTP एपीआई का उपयोग कर सकते हैं और जब आप अपने डेटा को सिंक करने के लिए API का उपयोग करते हैं तो उपयोगकर्ता स्प्रेडशीट फ्रंट-एंड का उपयोग कर सकते हैं।

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