使用 Google SpreadSheet API 更新 iOS Swift 中的特定行
Updating specific row in iOS Swift using Google SpreadSheet API
我一直在 iOS swift 中处理 Google SpreadSheet API,但是在更新 SpreadSheet row/data 中的特定字段时出现问题iOS Swift,
以下是在电子表格顶部添加一行的代码,但我想要一个特定的索引或匹配一个特定的值,
let service = GTLRSheetsService()
service.authorizer = GIDSignIn.sharedInstance().currentUser.authentication.fetcherAuthorizer()
service.apiKey = Constants.GOOGLE_SPEADSHEET_API_KEY
let range = "Employee List!A2:D"
let valueRange = GTLRSheets_ValueRange.init()
valueRange.values = [[job.jobTitle!]] //want to add job title on specific field after maching employee name
let query = GTLRSheetsQuery_SpreadsheetsValuesUpdate.query(withObject: valueRange, spreadsheetId: Constants.SPREAD_SHEET_ID, range: range)
query.valueInputOption = "USER_ENTERED"
service.executeQuery(query) { (ticket, response, error) in
print(response)
}
此代码在 B2 列的顶部添加了职位名称,但我想通过检查名称然后在其上添加职位来将其添加到特定行。
PS:数据是这样的
Want to add job title by matching the particular employee name, ref to image
有人可以帮我吗?
非常感谢
您应该为要更新的单元格定义一个准确的范围。它可能看起来像这样:
let service = GTLRSheetsService()
service.authorizer = GIDSignIn.sharedInstance().currentUser.authentication.fetcherAuthorizer()
service.apiKey = Constants.GOOGLE_SPEADSHEET_API_KEY
let rowIndex:Int = job.rowIndex
let range = "Employee List!C\(rowIndex):C\(rowIndex)"
let valueRange = GTLRSheets_ValueRange()
valueRange.range = "Employee List!C\(rowIndex):C\(rowIndex)"
valueRange.values = [[job.jobTitle!]]
valueRange.majorDimension = "COLUMNS"
let query = GTLRSheetsQuery_SpreadsheetsValuesUpdate.query(withObject: valueRange, spreadsheetId: Constants.SPREAD_SHEET_ID, range: range)
query.valueInputOption = "USER_ENTERED"
service.executeQuery(query) { (ticket, response, error) in
print(response)
}
并且不要忘记在 GIDSignIn.sharedInstance().scopes
中定义一个权利 scope
我一直在 iOS swift 中处理 Google SpreadSheet API,但是在更新 SpreadSheet row/data 中的特定字段时出现问题iOS Swift,
以下是在电子表格顶部添加一行的代码,但我想要一个特定的索引或匹配一个特定的值,
let service = GTLRSheetsService()
service.authorizer = GIDSignIn.sharedInstance().currentUser.authentication.fetcherAuthorizer()
service.apiKey = Constants.GOOGLE_SPEADSHEET_API_KEY
let range = "Employee List!A2:D"
let valueRange = GTLRSheets_ValueRange.init()
valueRange.values = [[job.jobTitle!]] //want to add job title on specific field after maching employee name
let query = GTLRSheetsQuery_SpreadsheetsValuesUpdate.query(withObject: valueRange, spreadsheetId: Constants.SPREAD_SHEET_ID, range: range)
query.valueInputOption = "USER_ENTERED"
service.executeQuery(query) { (ticket, response, error) in
print(response)
}
此代码在 B2 列的顶部添加了职位名称,但我想通过检查名称然后在其上添加职位来将其添加到特定行。
PS:数据是这样的
Want to add job title by matching the particular employee name, ref to image
有人可以帮我吗?
非常感谢
您应该为要更新的单元格定义一个准确的范围。它可能看起来像这样:
let service = GTLRSheetsService()
service.authorizer = GIDSignIn.sharedInstance().currentUser.authentication.fetcherAuthorizer()
service.apiKey = Constants.GOOGLE_SPEADSHEET_API_KEY
let rowIndex:Int = job.rowIndex
let range = "Employee List!C\(rowIndex):C\(rowIndex)"
let valueRange = GTLRSheets_ValueRange()
valueRange.range = "Employee List!C\(rowIndex):C\(rowIndex)"
valueRange.values = [[job.jobTitle!]]
valueRange.majorDimension = "COLUMNS"
let query = GTLRSheetsQuery_SpreadsheetsValuesUpdate.query(withObject: valueRange, spreadsheetId: Constants.SPREAD_SHEET_ID, range: range)
query.valueInputOption = "USER_ENTERED"
service.executeQuery(query) { (ticket, response, error) in
print(response)
}
并且不要忘记在 GIDSignIn.sharedInstance().scopes
scope