Невозможно сортировать таблицу по столбцу, используя Google Sheets API в C#C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно сортировать таблицу по столбцу, используя Google Sheets API в C#

Сообщение Anonymous »

У меня есть программа C#, которая может принести добавить и редактировать и удалять значения в моем листе Google. Но я не могу правильно сортировать записи в таблице. Вот мой код: < /p>

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»