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

इस उदाहरण पर एक नज़र डालें:

enter image description here

मैं इस तरह अपनी नोड सेवा से नंबर अपडेट करने में सक्षम हूं:

const auth = new google.auth.GoogleAuth({
  keyFile: 'credentials.json',
  scopes: ['https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/drive']
});

// Create client instance for auth
const client = await auth.getClient();
const docs = google.docs({ version: 'v1', auth: client });
const drive = google.drive({ version: 'v3', auth: client });

const copyMetaData = {
  name: `Some report`,
  parents: ['1b78gdfgdf8gdiokkg4XG2-9WFWGGla'] // some folder id
};

const copiedFile = await drive.files.copy({
  auth,
  fileId: '1VMKs89fg9AGP1xs-1F545gKgkvf2Daza7UZMRsdf789', // some file id
  requestBody: copyMetaData
});

const requests = [
  ['{{data-1}}', '447'],
  ['{{data-2}}', '378'],
  ['{{data-3}}', '102'],
  ['{{data-1-p}}', '91'],
  ['{{data-2-p}}', '78'],
  ['{{data-3-p}}', '23']
].map(update => {
  const [handleBar, replaceText] = update;
  return {
    replaceAllText: {
      containsText: {
        text: handleBar,
        matchCase: true
      },
      replaceText
    }
  };

मैं बस यह पता नहीं लगा सकता कि मैं पृष्ठभूमि रंग कैसे सेट कर सकता हूं, या यहां तक ​​​​कि मेरी तालिका कोशिकाओं की पहचान भी कर सकता हूं। या यह भी संभव है या नहीं, लेकिन यह मेरे लिए एक बहुत ही मामूली उपयोग के मामले की तरह लगता है, क्योंकि सभी Google उदाहरणों में वे चालान उत्पन्न कर रहे हैं और आप आसानी से सोचेंगे कि कोई नकारात्मक संतुलन को बोल्ड और लाल बनाना चाहेगा, लेकिन लेकिन उदाहरण के लिए काला अगर यह एक सकारात्मक संतुलन है।

1
Rasmus Puls 20 जुलाई 2021, 14:01

1 उत्तर

सबसे बढ़िया उत्तर

Google डॉक्स के लिए तालिका सेल रंग अपडेट करें:

{
  "requests": [
    {
      "updateTableCellStyle": {
        "tableCellStyle": {
          "backgroundColor": {
            "color": {
              "rgbColor": {
                "green": 1
              }
            }
          }
        },
        "fields": "backgroundColor",
        "tableRange": {
          "columnSpan": 1,
          "rowSpan": 1,
          "tableCellLocation": {
            "columnIndex": 0,
            "rowIndex": 0,
            "tableStartLocation": {
              "index": 2
            }
          }
        }
      }
    }
  ]
}

मेरे मामले में दस्तावेज़ में तालिका स्थान की अनुक्रमणिका 2 है - अपने स्थान के अनुसार अनुकूलित करें।

1
ziganotschka 20 जुलाई 2021, 18:05
आपके उत्तर के लिए धन्यवाद :) यह आशाजनक लग रहा है, मैं यह कोशिश करूँगा और आपसे संपर्क करूँगा।
 – 
Rasmus Puls
21 जुलाई 2021, 15:45
ठीक है, तो मुझे यह error: Invalid requests[18].updateTableCellStyle: The provided table start location is invalid. मिल रहा है, जिसका अर्थ है कि मुझे यह tableStartLocation संपत्ति समझ में नहीं आ रही है। मुझे लगता है कि मेरा टेबलस्टार्टलोकेशन index: 0 होगा, क्योंकि मेरे दस्तावेज़ बॉडी में मेरे पास केवल 1 टेबल है। मैं यहां पढ़ रहा हूं: developers.google.com/ दस्तावेज़/एपीआई/संदर्भ/बाकी/v1/दस्तावेज़/… मेरे पास एक शीर्षलेख है, और मेरी तालिका शुरू होने से पहले कुछ पाठ, क्या इसका कोई मतलब होगा? मैं इस सूचकांक की पहचान कैसे कर सकता हूं?
 – 
Rasmus Puls
21 जुलाई 2021, 16:31
आप documents.get और सेटिंग द्वारा पहली तालिका पंक्ति के startIndex को पुनः प्राप्त करें fields से body/content/table/tableRows/startIndextableStartLocation index, tableRows/startIndex से एक कम होगा।
 – 
ziganotschka
22 जुलाई 2021, 10:03
1
अंत में यह काम कर गया, हालांकि, tableStartLocation अनुक्रमणिका निरीक्षण किए गए दस्तावेज़ से startIndex के समान होनी चाहिए, (शून्य से 1 नहीं)। मैंने अपना कोड दोबारा लिखा और अंत में यह काम किया। मुझे लगता है कि दौड़ की स्थिति के साथ कुछ अजीब हुआ, मैं टेबल सेल को अपडेट करते समय टेक्स्ट को बदल रहा था, और मुझे लगता है कि इंडेक्स इस बीच स्थानांतरित हो सकते हैं।
 – 
Rasmus Puls
27 जुलाई 2021, 13:39