我正在编写C#代码以将数据导入Smartsheet。我想在第一行留下一个虚拟行,并在其下面添加所有后续行。我无法在文档中找到执行此操作的语法。 AddRows方法似乎无法确定这一点。这是我的代码:
Cell[] cellsA = new Cell[]
{
new Cell.AddCellBuilder(sheet.Columns[1].Id, taskData[i][1]).Build() //summary
,new Cell.AddCellBuilder(sheet.Columns[2].Id, taskData[i][2]).SetStrict(false).Build() //StartDate
,new Cell.AddCellBuilder(sheet.Columns[3].Id, taskData[i][3]).SetStrict(false).Build() //DueDate
,new Cell.AddCellBuilder(sheet.Columns[5].Id, taskData[i][4]).Build() //Estimated Hrs.
,new Cell.AddCellBuilder(sheet.Columns[6].Id, taskData[i][5]).Build() //Completion
,new Cell.AddCellBuilder(sheet.Columns[7].Id, taskData[i][6]).Build() //OWner
,new Cell.AddCellBuilder(sheet.Columns[8].Id, taskData[i][7]).Build() //Priority
,new Cell.AddCellBuilder(sheet.Columns[9].Id, taskData[i][8]).Build() //Status
,new Cell.AddCellBuilder(sheet.Columns[10].Id, taskData[i][9]).Build() //Category
,new Cell.AddCellBuilder(sheet.Columns[11].Id, screenURL + taskData[i][0]).Build()
};
// Specify contents of first row.
Row rowA = new Row.AddRowBuilder(true, null, null, null, null).SetCells(cellsA).Build();
// Add rows to sheet.
smartsheet.SheetResources.RowResources.AddRows(SheetID, new Row[] { rowA });
答案 0 :(得分:1)
在第一行下面添加一行的关键在于创建新行的代码行 - 特别是确定?bool'toBottom'属性的第二个参数。例如:
// Specify contents of first row.
Row rowA = new Row.AddRowBuilder(null, true, null, null, null).SetCells(cellsA).Build();
答案 1 :(得分:0)
我建议先将虚拟行添加到工作表中。在响应中,您将获得可以存储以供以后使用的新行ID。然后,当您向工作表添加新行时,可以将新行的siblingId设置为该行ID,它们将直接进入该行。
另一种方法是首先添加虚拟行,然后在添加新行时使用toBottom设置位置,以便每次都将行放在工作表的底部。有关行位置的更多信息可以在这里的文档中找到: http://smartsheet-platform.github.io/api-docs/?csharp#row-location