Google दस्तावेज़ में Google स्प्रेडशीट एम्बेड करें


82

क्या Google स्प्रेडशीट को Google डॉक्यूमेंट में ला माइक्रोसॉफ्ट एक्सेल और माइक्रोसॉफ्ट वर्ड में एम्बेड करना संभव है? स्प्रेडशीट से चार्ट के बारे में कैसे?


1
आप एक दस्तावेज़ में अपने स्प्रैडशीट से एक चार्ट को कॉपी और पेस्ट कर सकते हैं। स्प्रेडशीट को ही एम्बेड करने की कोशिश करने के साथ कोई भाग्य नहीं है। मैंने डॉक्स के लिए Google समूह पर एक सुविधा अनुरोध के रूप में इसे प्रस्तुत किया है।
मिकस्चुल

जवाबों:


24

आज (2016-05-20) से, Google एक Google दस्तावेज़ में Google स्प्रेडशीट से एक चार्ट एम्बेड करने की क्षमता को रोल आउट करना शुरू कर रहा है। इस बिंदु पर, मेरे 3 में से दो Google खाते Insertमेनू में उपलब्ध विकल्प Insert→Chartको Insert→Drawing…आइटम के नीचे एक नया सबमेनू बनाते हैं ।

जब आप ऐसे चार्ट सम्मिलित करते हैं, तो वे मूल स्प्रेडशीट से जुड़े रहते हैं। यदि आप चाहते हैं कि सारणीबद्ध डेटा है, तो एक तालिका चार्ट प्रकार है जिसे आप अपने डेटा को एक साधारण तालिका के रूप में प्रस्तुत करने के लिए उपयोग कर सकते हैं।

इस स्तर पर कुछ सीमाएँ हैं (उदाहरण के चार्ट के आकार के बारे में) और चार्ट को आपके द्वारा सम्मिलित करने से पहले स्प्रेडशीट में पहले से मौजूद होना चाहिए, लेकिन यह सही दिशा में जा रहा है ...


स्प्रेडशीट या तालिका सम्मिलित करने के लिए, शीट्स से डॉक्स पर कॉपी-पेस्ट करके Google शीट से तालिका जोड़ें और लिंक किए गए विकल्प को चुनें।

यदि आप अपने दस्तावेज़ को खोलते समय स्रोत स्प्रेडशीट को संशोधित करते हैं, तो चार्ट को लाइव अपडेट नहीं किया जाता है, हालांकि, दस्तावेज़ परिवर्तनों का पता लगाएगा और आपको स्रोत में नवीनतम परिवर्तनों को प्रतिबिंबित करने के लिए एम्बेडेड स्प्रेडशीट के ऊपर एक अपडेट बटन देगा।


इसका मतलब यह है कि यदि स्प्रेडशीट एक सूत्र या समीकरण का उपयोग करता है जो स्वचालित रूप से बदलता है (उदाहरण के लिए, एक निश्चित तिथि के आधार पर) यह भी अपडेट नहीं होगा?
एरिक हम्फ्री

मैंने इसका परीक्षण नहीं किया है, लेकिन मुझे संदेह है कि आपको अपने चार्ट को रीफ्रेश करने के लिए अपनी स्प्रेडशीट खोलनी होगी और फिर इसे एम्बेड करने वाले दस्तावेज़ों में चार्ट को अपडेट करने के लिए स्वीकार करना होगा। यदि आप अन्यथा पाते हैं, तो हमें बताएं।
जीन-रेने बुविएर

1
आज से, कोई तालिका भी एम्बेड कर सकता है ; चूँकि आपका उत्तर स्वीकृत है, आप इस नई सुविधा में संपादित करना चाह सकते हैं।

1
जानकारी के लिए फिर से धन्यवाद। प्रत्यक्ष तालिका एम्बेडिंग। इस स्तर पर यह सुविधा मेरे Google Apps में कार्य खाते के लिए अभी तक काम नहीं करती है। जैसे ही मैं यह नोटिस करता हूं, मैं अपनी पोस्ट को अपडेट कर दूंगा।
जीन-रेने बुविएर

@ मिचेल मैंने कोशिश की और यह संभव नहीं लगता। मुझे ऐसी कोई "अपडेट" बटन नहीं दिख रही है जो किसी शीट फ़ाइल से कॉपी की गई हो।
ADTC

32

AFAIK, आप केवल स्प्रेडशीट से पाठ दस्तावेज़ में कॉपी और पेस्ट कर सकते हैं। स्प्रेडशीट को एक तालिका के रूप में डाला गया है, लेकिन वे लिंक नहीं हैं: यदि आप स्प्रेडशीट में कुछ बदलते हैं, तो यह पाठ दस्तावेज़ में प्रतिबिंबित नहीं होगा।

बेशक, मैं गलत साबित होने के लिए बिल्कुल प्यार करता हूँ!


1
अफसोस की बात है, कि इस बिंदु पर मेरा एकमात्र विकल्प दिखाई देता है।
इल

1
मेरा जवाब नीचे देखें, अब एक नया विकल्प है जो इसे थोड़ा मित्रवत बनाता है और गतिशील अपडेट प्रदान करता है।
जीन-रेने बुविएर

11

यहां एक स्क्रिप्ट-आधारित समाधान है जो किसी दिए गए स्प्रैडशीट के भीतर दी गई श्रेणी की सामग्री के साथ एक तालिका सम्मिलित करने की अनुमति देता है। मैंने डेटा को रीयल-टाइम सिंक करने का तरीका खोजने की कोशिश नहीं की, क्योंकि यह डेटा की संभावित बड़ी मात्रा को देखते हुए व्यावहारिक नहीं लगता था, जिसे हर एडिट के साथ स्प्रेडशीट में ट्रांसफर करना पड़ता। इसके बजाय, स्क्रिप्ट दस्तावेज़ में एक कस्टम मेनू आइटम "अपडेट डेटा" जोड़ता है।

स्क्रिप्ट को दस्तावेज़ के लिए बाध्य किया जाना चाहिए (यानी, दस्तावेज़ मेनू में टूल> स्क्रिप्ट संपादक का उपयोग करके बनाया गया)। स्प्रेडशीट 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());
}

तकनीकी नोट

  1. मैन्युअल रूप से डेटा को हर घंटे सिंक करना भी संभव है। बस स्क्रिप्ट संपादक के संसाधन मेनू से समय-आधारित ट्रिगर जोड़ें, ताकि यह फ़ंक्शन अपडेटडेटा चलाए।

  2. इसके बजाय स्रोत स्प्रेडशीट के लिए बाध्य होने के लिए कोई भी इस स्क्रिप्ट को अनुकूलित कर सकता है। इसमें दस्तावेज़ को कैसे खोला जाता है (जैसे URL द्वारा) खोला जाता है, लेकिन अन्यथा तर्क समान है।

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


बहुत अच्छा काम करता है। फ़ॉर्मेटिंग प्राप्त करने का कोई तरीका (विशेष रूप से सेल बैकग्राउंड रंगों में)?
चेशायरकोव

नोट: 'स्प्रेडशीट URL' में स्पष्ट रूप से पूर्ण url शामिल होना चाहिए जिसमें /edit#gid=0अंत में सामान शामिल हो।
चेशायरकोव

किसी अन्य स्प्रेडशीट के स्वरूपण को आयात करने का कोई तरीका नहीं है।

लिंक भी नहीं स्थानांतरित कर रहे हैं, न ही रंग हैं। क्या इस प्रारूप को संशोधित करने का कोई तरीका है जिसमें सभी स्वरूपण शामिल हैं? कट-पेस्ट के मुद्दे पर बहुत चतुर काम, एक आकर्षण की तरह काम किया!
अनारक्षित

4

हाँ तुम कर सकते हो। एक शीट की सामग्री को कॉपी करें और अपने डॉक्टर में पेस्ट करें, दाहिने कोने में यह पूछेगा कि क्या आप स्प्रेडशीट से लिंक करना चाहते हैं। यदि आप स्प्रेडशीट को संपादित करने के बाद करते हैं, तो आप अपने डॉक्स में परिवर्तनों को शामिल करने के लिए अपने डॉक्स में अपडेट आइकन पर क्लिक कर सकते हैं।


2018 की शुरुआत तक, Google शीट को Google दस्तावेज़ में सम्मिलित करने से संबंधित प्रश्न के भाग के लिए यह सबसे अच्छा उत्तर है।
13

और जहां तक ​​मैं बता सकता हूं, मैंने इस धागे को पाया, क्या यह 400 कोशिकाओं तक सीमित है।
ट्रे

3

एक विकल्प Google साइट या किसी अन्य सामग्री संपादक का उपयोग करना है जो iframes सामग्री को एम्बेड करने की अनुमति देता है।

Google साइट्स के एक पृष्ठ में Google स्प्रेडशीट एम्बेड करने के लिए

  1. एक नई साइट बनाएं या किसी मौजूदा साइट पर जाएं।
  2. एक नया पृष्ठ बनाएँ या किसी मौजूदा पृष्ठ पर संपादित करें पर क्लिक करें।
  3. सम्मिलित करें> ड्राइव> स्प्रैडशीट पर क्लिक करें
  4. स्प्रेडशीट का चयन करें
  5. विकल्प सेट करें
  6. Save पर क्लिक करें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.