如何访问工作表中的 celldata 对象 api
How to access celldata objects in sheets api
我正在做一个 google 工作表集成项目,我想在其中向单元格添加格式化文本(粗体、斜体)。这只需要用于单元格的一部分(例如,单元格中只有一些文本是 bold )我可以看到这可以通过 CellData 对象完成,记录在工作表中api 这里:
但我不知道如何获取这些对象的实例。我正在使用工作表服务成功获取 SpreadSheet、Sheet 和 ValueRange 对象,但我不知道如何通过单元格数据对象本身来使用这些方法。
- 当一个单元格的部分值有多种格式时,您想检索这些格式。
- 您想将具有多种格式的值放入一个单元格。
我理解你的问题如上。如果我的理解是正确的,这些样本怎么样?
1。检索值
当单元格的一部分值具有如下图所示的多种格式时,
检索格式值的脚本如下。
示例脚本:
此示例脚本从 "Sheet1" 的单元格 "A1" 中检索值。
spreadsheet_id = '### spreadsheet ID ###'
ranges = ['Sheet1!A1']
fields = 'sheets(data(rowData(values(textFormatRuns,userEnteredValue))))'
response = service.get_spreadsheet(spreadsheet_id, ranges: ranges, fields: fields)
结果:
{
"sheets": [
{
"data": [
{
"rowData": [
{
"values": [
{
"userEnteredValue": {
"stringValue": "abcdefg"
},
"textFormatRuns": [
{
"format": {}
},
{
"format": {
"fontSize": 24,
"foregroundColor": {
"red": 1
},
"bold": true
},
"startIndex": 2
},
{
"format": {},
"startIndex": 5
}
]
}
]
}
]
}
]
}
]
}
2。放值
当一个单元格中有多种格式的值时,脚本如下。
示例脚本:
此示例脚本将值放入 "Sheet1" 的单元格 "B1"。作为示例,update_cells
用于这种情况。
spreadsheet_id = '### spreadsheet ID ###'
requests = {requests: [
update_cells: {
fields: 'userEnteredValue,textFormatRuns',
range: {sheet_id: 0, start_row_index: 0, end_row_index: 1, start_column_index: 1, end_column_index: 2},
rows: [{values: [{user_entered_value: {
string_value: 'abcdefg'},
text_format_runs: [{format: {}}, {format: {font_size: 24, foreground_color: {red: 1}, bold: true}, start_index: 2}, {format:{}, start_index: 5}]
}]}]
}
]}
response = service.batch_update_spreadsheet(spreadsheet_id, requests, {})
- 关于
sheet_id: 0
,如需其他sheet,请自行修改
结果:
注:
- 这些示例脚本假定您的环境可以使用表格 API。
- 这些是简单的示例。所以请根据您的情况修改它们。
参考文献:
我正在做一个 google 工作表集成项目,我想在其中向单元格添加格式化文本(粗体、斜体)。这只需要用于单元格的一部分(例如,单元格中只有一些文本是 bold )我可以看到这可以通过 CellData 对象完成,记录在工作表中api 这里:
但我不知道如何获取这些对象的实例。我正在使用工作表服务成功获取 SpreadSheet、Sheet 和 ValueRange 对象,但我不知道如何通过单元格数据对象本身来使用这些方法。
- 当一个单元格的部分值有多种格式时,您想检索这些格式。
- 您想将具有多种格式的值放入一个单元格。
我理解你的问题如上。如果我的理解是正确的,这些样本怎么样?
1。检索值
当单元格的一部分值具有如下图所示的多种格式时,
检索格式值的脚本如下。
示例脚本:
此示例脚本从 "Sheet1" 的单元格 "A1" 中检索值。
spreadsheet_id = '### spreadsheet ID ###'
ranges = ['Sheet1!A1']
fields = 'sheets(data(rowData(values(textFormatRuns,userEnteredValue))))'
response = service.get_spreadsheet(spreadsheet_id, ranges: ranges, fields: fields)
结果:
{
"sheets": [
{
"data": [
{
"rowData": [
{
"values": [
{
"userEnteredValue": {
"stringValue": "abcdefg"
},
"textFormatRuns": [
{
"format": {}
},
{
"format": {
"fontSize": 24,
"foregroundColor": {
"red": 1
},
"bold": true
},
"startIndex": 2
},
{
"format": {},
"startIndex": 5
}
]
}
]
}
]
}
]
}
]
}
2。放值
当一个单元格中有多种格式的值时,脚本如下。
示例脚本:
此示例脚本将值放入 "Sheet1" 的单元格 "B1"。作为示例,update_cells
用于这种情况。
spreadsheet_id = '### spreadsheet ID ###'
requests = {requests: [
update_cells: {
fields: 'userEnteredValue,textFormatRuns',
range: {sheet_id: 0, start_row_index: 0, end_row_index: 1, start_column_index: 1, end_column_index: 2},
rows: [{values: [{user_entered_value: {
string_value: 'abcdefg'},
text_format_runs: [{format: {}}, {format: {font_size: 24, foreground_color: {red: 1}, bold: true}, start_index: 2}, {format:{}, start_index: 5}]
}]}]
}
]}
response = service.batch_update_spreadsheet(spreadsheet_id, requests, {})
- 关于
sheet_id: 0
,如需其他sheet,请自行修改
结果:
注:
- 这些示例脚本假定您的环境可以使用表格 API。
- 这些是简单的示例。所以请根据您的情况修改它们。