Estoy tratando de encontrar una manera de usar la API de la hoja de Google para obtener un conjunto particular de filas por su índice.
Como ejemplo, tengo una lista de índices de fila: 15,16,20 . Me gustaría que solo se devuelvan los datos de estas filas.
Todo lo que intento con la selección de rango no funciona. ¿Hay algún otro método que pueda usar para esto, o simplemente no es posible?
SpreadsheetsResource.ValuesResource.GetRequest getRowsRequest = service.Spreadsheets.Values.Get(spreadsheetId, "Inbound!{A15:B15; A16:B16}"); ValueRange getRowsResponse = getRowsRequest.Execute(); IList<IList<Object>> valuestest = getRowsResponse.Values;La API devuelve un error para la llamada anterior que indica "No se puede analizar el rango".
Bastante sorprendido de cuánto trabajo es solo filtrar los datos en la hoja de Google por un valor de columna y luego acceder solo a las filas necesarias. ¡En lugar de simplemente tirar de cada fila hacia abajo y verificar programáticamente!
Puede usar el método batchGet en lugar de simplemente get . Funciona más o menos de la misma manera que lo hace get , pero le permite especificar una lista de rangos.
Podrías modificar tu código a algo como:
List<string> ranges = new List<string>{"Inbound!A15:B15", "Inbound!A16:B16"}; //POPULATE THIS LIST WITH YOUR RANGES SpreadsheetsResource.ValuesResource.BatchGetRequest request = sheetsService.Spreadsheets.Values.BatchGet(spreadsheetId); request.Ranges = ranges; Data.BatchGetValuesResponse response = request.Execute(); Puede encontrar la documentación del método batchGet , junto con un ejemplo de C# , aquí .