我一直在嘗試在 python 中配置谷歌電子表格的單元格水平對齊格式。我已經閱讀了原始的 google 開發人員資訊,并檢查了面臨相同問題的人的其他示例,但沒有一個適用于我的示例。以下代碼是我用來配置電子表格請求正文的代碼。我想要做的是創建一個新的電子表格,其中所有單元格的水平對齊方式都居中。因此,當用戶在任何單元格中鍵入任何內容時,它都會自動居中。有小費嗎?
spreadsheet_body = {
'properties': {
# spreadsheet name
'title': sheet_name,
"defaultFormat":{
"horizontalAlignment":'CENTER'
}
},
'sheets': [{
'properties': {
# worksheet name
'title': 'Φ?λλο1',
'gridProperties': {
# row\column number
'rowCount': 100,
'columnCount': 20
},
},
'data': [{'rowData': [{'values': header_row}]}] # Added
}
]
}
request = service.spreadsheets().create(body=spreadsheet_body)
response = request.execute()
uj5u.com熱心網友回復:
在資源SpreadsheetProperties下,它被指定:
默認格式
該欄位是只讀的。
所以不幸的是,不可能使用 Sheets API 創建一個所有單元格都自動居中的電子表格 - 就像不可能通過 UI 做到這一點一樣。
uj5u.com熱心網友回復:
我相信你的目標如下。
- 當使用Sheets API 的spreadsheets.create 方法創建新的電子表格時,您希望設定單元格的水平對齊方式。
- 您想使用 googleapis 和 python 來實作這一點。
問題和解決方法:
不幸的是,"defaultFormat":{"horizontalAlignment":'CENTER'}無法使用電子表格屬性。這是當前的規范。這已經在ziganotschka 的回答中提到了。
當我看到您的腳本時,創建的新電子表格只有一張紙。在這種情況下,當創建此作業表時,作業表中所有單元格的水平對齊方式可以設定為CENTER。但在這種情況下,創建新作業表時,將使用默認格式。請注意這一點。所以這個答案是一種解決方法。
當此解決方法反映在您的腳本中時,它將變為如下所示。
修改后的腳本:
rowCount = 100
columnCount = 20
rowData = []
for r in range(1, rowCount):
temp = []
for c in range(0, columnCount):
temp.append({'userEnteredFormat': {'horizontalAlignment': 'CENTER'}})
rowData.append({'values': temp})
hlen = len(header_row)
if hlen < columnCount:
for c in range(0, columnCount - hlen):
header_row.append({'userEnteredFormat': {'horizontalAlignment': 'CENTER'}})
rowData.insert(0, {'values': header_row})
spreadsheet_body = {
'properties': {
# spreadsheet name
'title': sheet_name
},
'sheets': [{
'properties': {
# worksheet name
'title': 'Φ?λλο1',
'gridProperties': {
# row\column number
'rowCount': rowCount,
'columnCount': columnCount
},
},
'data': [{'rowData': rowData}]
}]}
request = service.spreadsheets().create(body=spreadsheet_body)
response = request.execute()
參考:
- 方法:電子表格.create
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/336722.html
標籤:Python 谷歌表格 google-sheets-api
