क्या Google स्प्रेडशीट को Google डॉक्यूमेंट में ला माइक्रोसॉफ्ट एक्सेल और माइक्रोसॉफ्ट वर्ड में एम्बेड करना संभव है? स्प्रेडशीट से चार्ट के बारे में कैसे?
क्या Google स्प्रेडशीट को Google डॉक्यूमेंट में ला माइक्रोसॉफ्ट एक्सेल और माइक्रोसॉफ्ट वर्ड में एम्बेड करना संभव है? स्प्रेडशीट से चार्ट के बारे में कैसे?
जवाबों:
आज (2016-05-20) से, Google एक Google दस्तावेज़ में Google स्प्रेडशीट से एक चार्ट एम्बेड करने की क्षमता को रोल आउट करना शुरू कर रहा है। इस बिंदु पर, मेरे 3 में से दो Google खाते Insert
मेनू में उपलब्ध विकल्प Insert→Chart
को Insert→Drawing…
आइटम के नीचे एक नया सबमेनू बनाते हैं ।
जब आप ऐसे चार्ट सम्मिलित करते हैं, तो वे मूल स्प्रेडशीट से जुड़े रहते हैं। यदि आप चाहते हैं कि सारणीबद्ध डेटा है, तो एक तालिका चार्ट प्रकार है जिसे आप अपने डेटा को एक साधारण तालिका के रूप में प्रस्तुत करने के लिए उपयोग कर सकते हैं।
इस स्तर पर कुछ सीमाएँ हैं (उदाहरण के चार्ट के आकार के बारे में) और चार्ट को आपके द्वारा सम्मिलित करने से पहले स्प्रेडशीट में पहले से मौजूद होना चाहिए, लेकिन यह सही दिशा में जा रहा है ...
स्प्रेडशीट या तालिका सम्मिलित करने के लिए, शीट्स से डॉक्स पर कॉपी-पेस्ट करके Google शीट से तालिका जोड़ें और लिंक किए गए विकल्प को चुनें।
यदि आप अपने दस्तावेज़ को खोलते समय स्रोत स्प्रेडशीट को संशोधित करते हैं, तो चार्ट को लाइव अपडेट नहीं किया जाता है, हालांकि, दस्तावेज़ परिवर्तनों का पता लगाएगा और आपको स्रोत में नवीनतम परिवर्तनों को प्रतिबिंबित करने के लिए एम्बेडेड स्प्रेडशीट के ऊपर एक अपडेट बटन देगा।
AFAIK, आप केवल स्प्रेडशीट से पाठ दस्तावेज़ में कॉपी और पेस्ट कर सकते हैं। स्प्रेडशीट को एक तालिका के रूप में डाला गया है, लेकिन वे लिंक नहीं हैं: यदि आप स्प्रेडशीट में कुछ बदलते हैं, तो यह पाठ दस्तावेज़ में प्रतिबिंबित नहीं होगा।
बेशक, मैं गलत साबित होने के लिए बिल्कुल प्यार करता हूँ!
यहां एक स्क्रिप्ट-आधारित समाधान है जो किसी दिए गए स्प्रैडशीट के भीतर दी गई श्रेणी की सामग्री के साथ एक तालिका सम्मिलित करने की अनुमति देता है। मैंने डेटा को रीयल-टाइम सिंक करने का तरीका खोजने की कोशिश नहीं की, क्योंकि यह डेटा की संभावित बड़ी मात्रा को देखते हुए व्यावहारिक नहीं लगता था, जिसे हर एडिट के साथ स्प्रेडशीट में ट्रांसफर करना पड़ता। इसके बजाय, स्क्रिप्ट दस्तावेज़ में एक कस्टम मेनू आइटम "अपडेट डेटा" जोड़ता है।
स्क्रिप्ट को दस्तावेज़ के लिए बाध्य किया जाना चाहिए (यानी, दस्तावेज़ मेनू में टूल> स्क्रिप्ट संपादक का उपयोग करके बनाया गया)। स्प्रेडशीट URL, साथ ही शीट और उपयोग करने की सीमा, स्क्रिप्ट के भीतर निर्दिष्ट हैं। शीट पर सभी डेटा को एम्बेड करने के लिए, इसके .getRange(rangeName)
साथ बदलें .getDataRange()
।
जब फ़ंक्शन अपडेटडेटा को पहले निष्पादित किया जाता है, तो यह दस्तावेज़ के अंत में तालिका को जोड़ता है। बाद के रन में, यह तालिका को जगह में अपडेट करता है (यानी, यदि तालिका के बाद अधिक पाठ जोड़ा जाता है, तो आदेश संरक्षित होगा)।
ध्यान दें कि टेबल को काटने-चिपकाने से अपडेट करने की प्रक्रिया टूट जाएगी (क्योंकि स्क्रिप्ट कॉपी के अंत में एक नई तालिका जोड़ देगा) क्योंकि पेस्ट की गई कॉपी एक नई वस्तु है। इसके बजाय, तालिका के चारों ओर पाठ को काटें।
function onOpen() {
DocumentApp.getUi()
.createMenu('Custom')
.addItem('Update Data', 'updateData')
.addToUi();
}
function updateData() {
var ssUrl = ' spreadsheet url here ';
var sheetName = 'Sheet2'; // name of sheet to use
var rangeName = 'A1:C3'; // range of values to include
var values = SpreadsheetApp.openByUrl(ssUrl)
.getSheetByName(sheetName)
.getRange(rangeName)
.getValues();
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var ranges = doc.getNamedRanges('embeddedSheet-range');
if (ranges.length == 0) {
var table = body.appendTable(values);
}
else {
tableRange = ranges[0];
table = tableRange.getRange().getRangeElements()[0].getElement();
var ind = body.getChildIndex(table);
tableRange.remove();
body.removeChild(table);
table = body.insertTable(ind, values);
}
var rangeBuilder = doc.newRange();
rangeBuilder.addElement(table);
doc.addNamedRange('embeddedSheet-range', rangeBuilder.build());
}
मैन्युअल रूप से डेटा को हर घंटे सिंक करना भी संभव है। बस स्क्रिप्ट संपादक के संसाधन मेनू से समय-आधारित ट्रिगर जोड़ें, ताकि यह फ़ंक्शन अपडेटडेटा चलाए।
इसके बजाय स्रोत स्प्रेडशीट के लिए बाध्य होने के लिए कोई भी इस स्क्रिप्ट को अनुकूलित कर सकता है। इसमें दस्तावेज़ को कैसे खोला जाता है (जैसे URL द्वारा) खोला जाता है, लेकिन अन्यथा तर्क समान है।
स्क्रिप्ट के बोझिल हिस्से को दस्तावेज़ में मौजूदा तालिका का हैंडल मिल रहा है। इसके लिए इसे नामांकित सीमा के भीतर रखने की आवश्यकता है। इसके अलावा, मौजूदा तत्व की प्रविष्टियों के साथ गड़बड़ करने की तुलना में तालिका तत्व को पूरी तरह से बदलना अधिक समीचीन है। चूंकि एक नामांकित श्रेणी अपरिवर्तनीय है, इसलिए इसे उस तालिका के साथ भी हटा दिया जाता है, और फिर नई तालिका के साथ बनाया जाता है।
/edit#gid=0
अंत में सामान शामिल हो।
हाँ तुम कर सकते हो। एक शीट की सामग्री को कॉपी करें और अपने डॉक्टर में पेस्ट करें, दाहिने कोने में यह पूछेगा कि क्या आप स्प्रेडशीट से लिंक करना चाहते हैं। यदि आप स्प्रेडशीट को संपादित करने के बाद करते हैं, तो आप अपने डॉक्स में परिवर्तनों को शामिल करने के लिए अपने डॉक्स में अपडेट आइकन पर क्लिक कर सकते हैं।
एक विकल्प Google साइट या किसी अन्य सामग्री संपादक का उपयोग करना है जो iframes सामग्री को एम्बेड करने की अनुमति देता है।
Google साइट्स के एक पृष्ठ में Google स्प्रेडशीट एम्बेड करने के लिए