Jes*_*ers 1 excel google-sheets google-sheets-api google-sheets-formula
由于类似的问题都没有真正的答案,所以我会尝试一下。
我在预先存在的电子表格上使用 Google Sheets API。
A1我想将:中的公式复制=A7/A2到B1:=B7/B2
我可以很好地复制内容,但不能复制公式:
body = {'values': [[result.get("values")[0]]]}
new_range = 'B1'
up_result = sheet.values().update(
spreadsheetId=SPREADSHEET_ID, range=new_range,
valueInputOption='USER_ENTERED', body=body).execute()
Run Code Online (Sandbox Code Playgroud)
有没有办法复制公式?
=A7/A2到单元格“B1”作为=B7/B2。如果我的理解是正确的,那么这个修改怎么样?在这次修改中,我使用了Sheets API的spreadsheets.batchUpdate方法的“CopyPasteRequest”。
spreadsheet_id在使用此脚本之前,请设置和的变量sheetId。
service = build('sheets', 'v4', credentials=creds)
spreadsheet_id = '###' # Please set Spreadsheet ID.
sheetId = "###" # Please set sheet ID.
batch_update_spreadsheet_request_body = {
"requests": [
{
"copyPaste": {
"source": {
"sheetId": sheetId,
"startRowIndex": 0,
"endRowIndex": 1,
"startColumnIndex": 0,
"endColumnIndex": 1
},
"destination": {
"sheetId": sheetId,
"startRowIndex": 0,
"endRowIndex": 1,
"startColumnIndex": 1,
"endColumnIndex": 2
},
"pasteType": "PASTE_FORMULA"
}
}
]
}
request = service.spreadsheets().batchUpdate(spreadsheetId=spreadsheet_id, body=batch_update_spreadsheet_request_body)
response = request.execute()
print(response)
Run Code Online (Sandbox Code Playgroud)
0, 1, 0, 1对于startRowIndex、endRowIndex、startColumnIndex和endColumnIndex表示单元格“A1”。0, 1, 1, 2对于startRowIndex、endRowIndex、startColumnIndex和endColumnIndex表示单元格“B1”。=A7/A2,=B7/B2将被放入单元格“B1”中。如果我误解了你的问题并且这不是你想要的结果,我深表歉意。
| 归档时间: |
|
| 查看次数: |
3454 次 |
| 最近记录: |