2017-08-21 14 views
14

Tôi đang tìm cách xóa chỉ định dạng trên lựa chọn phạm vi ô, chứ không phải nội dung của chúng, sử dụng API trang tính Google với python.Xóa chỉ định dạng trên lựa chọn phạm vi ô bằng API bảng tính google

Hiện tại, giải pháp duy nhất tôi có là áp dụng cùng một logic như định dạng bình thường và đặt kiểu thành KHÔNG. Ví dụ, khi tôi đặt một định dạng biên giới với một loạt specifical, tôi sử dụng:

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() 

Và nếu tôi muốn xóa nó, tôi thay thế lĩnh vực "phong cách" với 'NONE' chỉ như thế này:

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() 

Nhưng điều đó có nghĩa là tôi cần xác định một hàm để xóa định dạng cho từng loại định dạng mà tôi xác định, không thực tế ... Bước đầu tiên là tìm cách xóa định dạng trên toàn bộ trang tính, và có lẽ sau khi có thể làm điều đó cho một phạm vi cụ thể trong tờ của tôi.

+0

Tôi không có đầu mối ... nhưng có thể bạn có thể sao chép định dạng từ ô đã biết, chưa được định dạng. –

Trả lời

0

This documentation dường như nêu rõ rằng nếu bạn đặt fields thành "userEnteredValue" trong yêu cầu updateCells yêu cầu xóa tất cả định dạng. Tôi chưa thử nghiệm điều này nhưng ở đây bạn đi:

request_dict = { 
    "requests": [{ 
     "updateCells": { 
       "range": { 
        "sheetId": sheetId, 
        "startRowIndex": 1, 
        "endRowIndex": raws, 
        "startColumnIndex": first_col, 
        "endColumnIndex": last_col 
      }, 
      "fields": "userEnteredValue" 
     } 
    }] 
} 
Các vấn đề liên quan