我可以按名称而不是索引引用Smartsheet列吗?

时间:2019-11-18 22:09:15

标签: smartsheet-api

我有一个smartsheet集成,通过该服务我可以通过Web服务从另一个程序获取数据并写入工作表。填充工作表的相关代码如下:

         Cell[] cellsA = new Cell[] 
         { 
         new Cell.AddCellBuilder(sheet.Columns[0].Id, projectData[i][0].Trim()).Build()                   //Project ID
         ,new Cell.AddCellBuilder(sheet.Columns[1].Id, projectData[i][1].Trim()).Build()                  //Customer
         ,new Cell.AddCellBuilder(sheet.Columns[2].Id, projectData[i][2].Trim()).Build()                  //Description
         ,new Cell.AddCellBuilder(sheet.Columns[3].Id, projectData[i][3].Trim()).Build()                  //Status
         ,new Cell.AddCellBuilder(sheet.Columns[4].Id, startDate).SetStrict(false).Build()                //StartDate
         ,new Cell.AddCellBuilder(sheet.Columns[5].Id, endDate).SetStrict(false).Build()                  //EndDate
         ,new Cell.AddCellBuilder(sheet.Columns[6].Id, projectData[i][6].Trim()).Build()                  //Project Manager
         };
         // Specify contents of first row.
         Row rowA = new Row.AddRowBuilder(null, true, null, null, null).SetCells(cellsA).Build();

我的问题是,而不是使用

sheet.Columns[0].Id

是否可以使用列名来标识特定的列而不是索引?原因是如果用户移动或重新排列列,则将导致错误(日期格式等)。

谢谢...

1 个答案:

答案 0 :(得分:0)

您不能以编程方式通过名称引用列(即使您可以,也可能不希望使用-因为名称可能会发生变化,就像位置一样),但是您可以以编程方式通过ID引用列(永远不会更改,即使该列已移动或重命名也是如此。