首页 > 解决方案 > 如何获取每个行条目的列标题

问题描述

我正在使用行 ID 来获取单行的单元格。但是,响应返回的是列 ID,而不是列的标题。为了使代码对其他人可读,获取列标题也会有所帮助。我正在考虑通过使用在 getRow 函数中获得的列 ID 来执行此操作,但我不完全确定如何捕获它。下面是基本的 getRow 函数供参考。我感谢任何帮助。提前谢谢大家。

smartsheet.sheets.getRow(options)
  .then(function(row) {
  console.log(row);
})
.catch(function(error) {
  console.log(error);
});

标签: smartsheet-api

解决方案


GET /sheets/{sheetId}我首选的解决方法是根据我的第一个请求动态创建列映射。
假设我们有一个包含三列的工作表:Japan、Cat 和 Cafe。这是制作列图的一种方法。

const columnMap = makeColumnMap(<your sheet data>);

function makeColumnMap(sheetData){
    const colMap = {};
    sheetData.columns.map( column => colMap[column.title] = column.id);
    return colMap;
}

现在,您可以像这样引用您的特定列:columnMap["Japan"], columnMap["Cat"]columnMap["Cafe"]或者如果您愿意,也可以使用点表示法。

基本上,我们正在做的是创建一个字典来将列标题映射到相应的列 ID。


推荐阅读