Код: Выделить всё
public bool SortGoogleSheet(
int i_sorted_column_index,
int i_start_row_index,
int i_end_row_index,
int i_start_col_index,
int i_end_col_index,
string str_sort_direction,
ref bool b_error_occurred)
{
Program.LogIt("Begin SortGoogleSheet()");
string sheetname = "Items";
int i_sheet_id = GetSheetId(_sheetsService, _spreadsheetId, sheetname);
BatchUpdateSpreadsheetRequest busReq = new BatchUpdateSpreadsheetRequest();
SortRangeRequest srr = new SortRangeRequest();
GridRange gr = new GridRange();
SortSpec ss = new SortSpec();
Request req = new Request();
gr.SheetId = i_sheet_id;
gr.StartRowIndex = i_start_row_index;
gr.EndRowIndex = i_end_row_index;
gr.StartColumnIndex = i_start_col_index;
gr.EndColumnIndex = i_end_col_index;
srr.Range = gr;
ss.SortOrder = str_sort_direction;
// Sort by CompositeForSorting field
ss.DimensionIndex = i_sorted_column_index;
if (!b_error_occurred)
{
try
{
srr.SortSpecs = new List() { ss };
req.SortRange = srr;
busReq.Requests = new List() { req };
SpreadsheetsResource.BatchUpdateRequest bur = _sheetsService.Spreadsheets.BatchUpdate(
busReq, _spreadsheetId);
if (bur == null)
{
Program.LogIt("ERROR: Could not create BatchUpdate object.");
b_error_occurred = true;
}
if (!b_error_occurred)
{
Program.LogIt("Executing...");
BatchUpdateSpreadsheetResponse busr = bur.Execute();
Program.LogIt("Done.");
}
}
catch (Exception e)
{
Program.LogIt("ERROR: Could not sort records. Exception: " + e.Message + ", " + e.StackTrace);
b_error_occurred = true;
}
} // end if (!b_error_occurred)
Program.LogIt("end SortGoogleSheet()");
return !b_error_occurred;
} // end public bool SortGoogleSheet(ref bool b_error_occurred)
< /code>
Я вызываю функцию со следующими значениями: < /p>
i_sorted_column_index: 14 (индекс на основе нуля, поэтому соответствует с столбец O, 15-й столбец в таблице электронной таблицы) < /li>
i_start_row_index: 1 (индекс на основе нуля. Я предполагаю, что вы пропускаете строку, потому что вы не хотите Сортируйте строку имен заголовок?) i_start_col_index: 0 < /li>
i_end_col_index: 14 (столбец O, пятнадцатый столбец в таблице, является последним столбцом в Таблица) < /li>
str_sort_direction: "accending" < /li>
< /ul>
Вызов BatchupDatesPreadSheetResponse busr = bur.execute ();
Код: Выделить всё
ERROR: Could not sort records. Exception: Google.Apis.Requests.RequestError
Internal error encountered. [500]
Errors [
Message[Internal error encountered.] Location[ - ] Reason[backendError] Domain[global]
]
, at Google.Apis.Requests.ClientServiceRequest`1.
d__35.MoveNext() in C:\Apiary\2021-09-08.15-52-39\Src\Support\Google.Apis\Requests\ClientServiceRequest.cs:line
258
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Google.Apis.Requests.ClientServiceRequest`1.Execute() in C:\Apiary\2021-09-08.15-52-39\Src\Support\Google.Apis\Requests\ClientServiceRequest.cs:line 180
Подробнее здесь: https://stackoverflow.com/questions/794 ... in-c-sharp