如何在智能表中获取单元格的列类型

How to get cell's column type in smartsheet

我尝试在调用 GetSheet() 时从单元格中获取列类型信息,使用带有 C# 的 Smartsheet API 并且大部分时间它为空。我在文档中读到我可以这样做,但我不明白。

Endpoints which return rows (e.g. get sheet, get row) support the optional include query string parameter. http://smartsheet-platform.github.io/api-docs/#row-include-flags

我没有在智能感知中看到添加列类型的选项。我错过了什么吗?

我使用的是最新的 Smartsheet SDK 2.0.1.0。

默认为 GetSheet() 操作返回列类型信息,因此您无需指定任何 inclusion 调用时的标志。 (这就是为什么您在智能感知中看不到它的选项的原因。)

以下代码片段展示了如何使用 C# SDK 检索 Sheet 并遍历 sheet 中的列,打印 Title每列的类型

// Set the Access Token
Token token = new Token();
token.AccessToken = YOUR_ACCESS_TOKEN;

// Use the Smartsheet Builder to create a Smartsheet
SmartsheetClient smartsheet = new SmartsheetBuilder().SetAccessToken(token.AccessToken).Build();

// Get Sheet
long sheetId = YOUR_SHEET_ID;
Sheet sheet = smartsheet.SheetResources.GetSheet(sheetId, null, null, null, null, null, null, null);

// Examine columns and write Title and Type for each column.
foreach (Column column in sheet.Columns)
{
    Response.Write(column.Title + ": " + column.Type.ToString() + "<br/><br/>");
}

请注意,C# SDK 当前存在一个已知问题(错误)——Column.Type 未在 GetSheet 中填充() 对仅在启用依赖项的项目 sheets 中存在的 3 种特殊列类型的响应:DURATION、PREDECESSOR、ABSTRACT_DATETIME(即开始日期和结束日期)。目前没有解决此问题的预计到达时间。但是,您可以通过从 GitHub and updating the ColumnType Enumeration 下载 C# SDK 源代码以添加 3 个缺失的枚举值来自行修复它:

  • 持续时间
  • 前任
  • ABSTRACT_DATETIME