Я пытаюсь записать данные из таблицы данных на лист через API smartsheet (используя c # SDK). Я просмотрел документацию и вижу, что она поддерживает массовые операции, но я пытаюсь найти пример для этой функциональности.
Я попытался обойти и просто перебрать каждую запись из моего источника и опубликовать эти данные.
//Get column properties (column Id ) for existing smartsheet and add them to List for AddRows parameter
//Compare to existing Column names in Data table for capture of related column id
var columnArray = getSheet.Columns;
foreach (var column in columnArray)
{
foreach (DataColumn columnPdiExtract in pdiExtractDataTable.Columns)
{
//Console.WriteLine(columnPdiExtract.ColumnName);
if(column.Title == columnPdiExtract.ColumnName)
{
long columnIdValue = column.Id ?? 0;
//addColumnArrayIdList.Add(columnIdValue);
addColumnArrayIdList.Add(new KeyValuePair<string, long>(column.Title,columnIdValue));
}
}
}
foreach(var columnTitleIdPair in addColumnArrayIdList)
{
Console.WriteLine(columnTitleIdPair.Key);
var results = from row in pdiExtractDataTable.AsEnumerable() select row.Field<Double?>(columnTitleIdPair.Key);
foreach (var record in results)
{
Cell[] cells = new Cell[]
{
new Cell
{
ColumnId = columnTitleIdPair.Value,
Value = record
}
};
cellRecords = cells.ToList();
cellRecordsInsert.Add(cellRecords);
}
Row rows = new Row
{
ToTop = true,
Cells = cellRecords
};
IList<Row> newRows = smartsheet.SheetResources.RowResources.AddRows(sheetId, new Row[] { rows });
}
Я ожидал сгенерировать значение для каждой ячейки, добавить его в список и затем опубликовать его через объект Row. Тем не менее, мой цикл добавляет значения столбцов следующим образом: A1: 1, B2: 2, C3: 3 вместо A1: 1, B1: 2, C3: 3
Предпочтение будет отдаваться массовым операциям, но без примера я немного растерялся. Однако цикл также не работает, поэтому, если у кого-то есть какие-либо предложения, я был бы очень признателен!
Спасибо,
Чаннинг