Google 스프레드 시트를 VB.Net에서 수정하려면 Google 시트 api v4를 사용하려고했습니다. 내가 읽고 BatchGetRequest 및 BatchUpdateRequest와 파일에 쓰기 :.net에서 범위의 색상을 변경하는 방법 .net
'Get File's Datas
Dim reqBatchGet As SpreadsheetsResource.ValuesResource.BatchGetRequest = service.Spreadsheets.Values.BatchGet(fileId)
reqBatchGet.Ranges = "'2016'!A1:AP60"
Dim test = reqBatchGet.Execute()
Dim myBatchUpdate As BatchUpdateValuesRequest = New BatchUpdateValuesRequest()
myBatchUpdate.ValueInputOption = "RAW"
myBatchUpdate.Data = New List(Of ValueRange)
For Each res As GetDatasMonitoringAgencyResult In result
Dim vrxN As ValueRange = New ValueRange()
Dim lstN As IList(Of IList(Of Object)) = New List(Of IList(Of Object))
lstN.Add(New List(Of Object)(New Object() {res.N01, res.N02, res.N03, res.N04, res.N05, res.N06, res.N07, res.N08, res.N09, res.N10, res.N11, res.N12}))
For Each n In lstN
For Each dataInN In n
If dataInN Is Nothing Then
dataInN = "-"
End If
Next
Next
vrxN.Values = lstN
Dim RangeN As String = String.Format("'{0}'!D{1}:O{1}", Now.Year, res.ligne)
vrxN.Range = RangeN
vrxN.MajorDimension = "ROWS"
Dim vrxN_1 As ValueRange = New ValueRange()
Dim lstN_1 As IList(Of IList(Of Object)) = New List(Of IList(Of Object))
lstN_1.Add(New List(Of Object)(New Object() {res.N_01, res.N_02, res.N_03, res.N_04, res.N_05, res.N_06, res.N_07, res.N_08, res.N_09, res.N_10, res.N_11, res.N_12}))
For Each n_1 In lstN_1
For Each dataInN_1 In n_1
If dataInN_1 Is Nothing Then
dataInN_1 = ""
End If
Next
Next
vrxN_1.Values = lstN_1
Dim RangeN_1 As String = String.Format("'{0}'!AD{1}:AO{1}", Now.Year.ToString(), res.ligne)
vrxN_1.Range = RangeN_1
vrxN_1.MajorDimension = "ROWS"
myBatchUpdate.Data.Add(vrxN)
myBatchUpdate.Data.Add(vrxN_1)
Next
Dim reqBatchUpdate As SpreadsheetsResource.ValuesResource.BatchUpdateRequest = service.Spreadsheets.Values.BatchUpdate(myBatchUpdate, fileId)
reqBatchUpdate.Execute()
지금, 나는 몇 가지 세포의 색상을 변경합니다. 나는 conditionalRule으로 시도 : (값이 MIN, 숫자 형식 또는 최대 인 경우) 조건에 해당하는 경우 그것은 작동하지만 난 그냥 조건없이 색상 범위를 변경하려는
Dim req As Request = New Request()
Dim acfrr As AddConditionalFormatRuleRequest = New AddConditionalFormatRuleRequest()
acfrr.Rule = New ConditionalFormatRule()
Dim range1 As GridRange = New GridRange()
range1.SheetId = 0
range1.StartColumnIndex = 1
range1.StartRowIndex = 1
acfrr.Rule.Ranges = New List(Of GridRange)
acfrr.Rule.Ranges.Add(range1)
acfrr.Rule.GradientRule = New GradientRule()
acfrr.Rule.GradientRule.Minpoint = New InterpolationPoint()
acfrr.Rule.GradientRule.Minpoint.Type = "MIN"
acfrr.Rule.GradientRule.Minpoint.Color = New Google.Apis.Sheets.v4.Data.Color()
acfrr.Rule.GradientRule.Minpoint.Color.Red = 1
acfrr.Rule.GradientRule.Minpoint.Color.Green = 0
acfrr.Rule.GradientRule.Minpoint.Color.Blue = 0
acfrr.Rule.GradientRule.Midpoint = New InterpolationPoint()
acfrr.Rule.GradientRule.Midpoint.Type = "NUMBER"
acfrr.Rule.GradientRule.Midpoint.Value = 0.5
acfrr.Rule.GradientRule.Midpoint.Color = New Google.Apis.Sheets.v4.Data.Color()
acfrr.Rule.GradientRule.Midpoint.Color.Red = 0
acfrr.Rule.GradientRule.Midpoint.Color.Green = 1
acfrr.Rule.GradientRule.Midpoint.Color.Blue = 0
acfrr.Rule.GradientRule.Maxpoint = New InterpolationPoint()
acfrr.Rule.GradientRule.Maxpoint.Type = "MAX"
acfrr.Rule.GradientRule.Maxpoint.Color = New Google.Apis.Sheets.v4.Data.Color()
acfrr.Rule.GradientRule.Maxpoint.Color.Red = 0
acfrr.Rule.GradientRule.Maxpoint.Color.Green = 0
acfrr.Rule.GradientRule.Maxpoint.Color.Blue = 1
acfrr.Index = 0
req.AddConditionalFormatRule = acfrr
Dim testReq As BatchUpdateSpreadsheetRequest = New BatchUpdateSpreadsheetRequest()
testReq.Requests = New List(Of Request)
testReq.Requests.Add(req)
Dim responseAddConditionalRules = service.Spreadsheets.BatchUpdate(testReq, fileId).Execute
. 그러나 나는 그것을하는 방법을 이해하는 모범을 찾지 못한다.
감사합니다, (클라이언트 라이브러리의로 똑 바르게 번역하는 것) 해당 페이지에서 JSON 복사,하지만 당신은 C# 언어와 예를 들어 있나요? 내 요청에 대한 Google의 개체를 사용하고 그것을 초기화하는 방법을 모르겠습니다. – JonathanTheBrosh