2017-08-21 15 views
14

के साथ सेल रेंज चयन पर केवल फ़ॉर्मेट को निकालें, मैं केवल पाइथन के साथ Google शीट एपीआई का उपयोग करके सेल रेंज चयन पर न केवल उनकी सामग्री को हटाने के लिए एक तरीका ढूंढ रहा हूं।Google स्प्रेडशीट एपीआई

अभी के लिए, मेरे पास एकमात्र समाधान एक सामान्य प्रारूप के रूप में एक ही तर्क लागू करना और शैली को किसी को सेट करना है। उदाहरण के लिए, जब मैं एक specifical श्रृंखला के लिए एक सीमा प्रारूप निर्धारित करते हैं, मैं का उपयोग करें:

request_dict = {'requests': [{ 
        "updateBorders": { 
         "range": { 
         "sheetId": sheetId, 
         "startRowIndex": 1, 
         "endRowIndex": raws, 
         "startColumnIndex": first_col, 
         "endColumnIndex": last_col}, 
         "top": { 
         "style": "SOLID_MEDIUM", 
         "width": 1, 
         "color": {"blue": 0}}, 
         "bottom": { 
         "style": "SOLID_MEDIUM", 
         "width": 1, 
         "color": {"blue": 0}}, 
         "left": { 
         "style": "SOLID_MEDIUM", 
         "width": 1, 
         "color": {"blue": 0}}, 
         "right": { 
         "style": "SOLID_MEDIUM", 
         "width": 1, 
         "color": {"blue": 0}}, 
         "innerHorizontal": { 
         "style": "SOLID_MEDIUM", 
         "width": 1, 
         "color": {"blue": 0}}, 
         "innerVertical": { 
         "style": "SOLID_MEDIUM", 
         "width": 1, 
         "color": {"blue": 0}}}}]} 
body = {'requests': request_dict['requests']} 
service.spreadsheets().batchUpdate(spreadsheetId=spreadsheetId, 
            body=body).execute() 

और अगर मैं इसे नष्ट करना चाहते हैं, मैं "शैली" क्षेत्र 'कोई नहीं' के साथ सिर्फ इस तरह की जगह:

request_dict = {'requests': [{ 
        "updateBorders": { 
         "range": { 
         "sheetId": sheetId, 
         "startRowIndex": 1, 
         "endRowIndex": raws, 
         "startColumnIndex": first_col, 
         "endColumnIndex": last_col}, 
         "top": { 
         "style": "NONE", 
         "width": 1, 
         "color": {"blue": 0}}, 
         "bottom": { 
         "style": "NONE", 
         "width": 1, 
         "color": {"blue": 0}}, 
         "left": { 
         "style": "NONE", 
         "width": 1, 
         "color": {"blue": 0}}, 
         "right": { 
         "style": "NONE", 
         "width": 1, 
         "color": {"blue": 0}}, 
         "innerHorizontal": { 
         "style": "NONE", 
         "width": 1, 
         "color": {"blue": 0}}, 
         "innerVertical": { 
         "style": "NONE", 
         "width": 1, 
         "color": {"blue": 0}}}}]} 
body = {'requests': request_dict['requests']} 
service.spreadsheets().batchUpdate(spreadsheetId=spreadsheetId, 
            body=body).execute() 

लेकिन इसका मतलब है कि मुझे परिभाषित करने के लिए प्रत्येक प्रकार के प्रारूप के प्रारूप को मिटाने के लिए एक फ़ंक्शन को परिभाषित करने की आवश्यकता है, जो बहुत व्यावहारिक नहीं है ... पहला चरण एक संपूर्ण शीट पर स्वरूपण को मिटाने का तरीका ढूंढना होगा, और हो सकता है कि यह मेरी शीट में एक विशिष्ट सीमा के लिए ऐसा करने में सक्षम हो।

+0

मैं कोई सुराग नहीं है ... लेकिन आप एक जाना जाता है, अस्वरूपित सेल से प्रारूप नकल कर सकता है हो सकता है। –

उत्तर

0

This documentation राज्य के लिए कि अगर आप एक updateCells अनुरोध में "userEnteredValue" को fields सेट है कि यह सभी स्वरूपण निकाल देंगे लगता है। मैं अभी तक यह परीक्षण नहीं किया, लेकिन यहाँ तुम जाओ:

request_dict = { 
    "requests": [{ 
     "updateCells": { 
       "range": { 
        "sheetId": sheetId, 
        "startRowIndex": 1, 
        "endRowIndex": raws, 
        "startColumnIndex": first_col, 
        "endColumnIndex": last_col 
      }, 
      "fields": "userEnteredValue" 
     } 
    }] 
} 
संबंधित मुद्दे