javascript - Office.js 在表格的单个列中迭代单个单元格
问题描述
作为插件的一部分,我在 Excel 工作表中有一个控制面板,这是在插件启动时构建的。我想确保我的所有代码引用工作表都是相对引用,因此如果用户将列添加到控制面板或移动它。该插件仍然有效。
例如,如果我想阅读信息:
// This reads a list of tickers to than query my back end for data.
let BBTickerRange=sheet.tables.getItem("ControlPanel").columns.getItem("Symbol Ticker");
BBTickerRange.load(["values", "columns", "items"])
// IF the lookup misses I have code like
BloombergTableOne.columns.items[i + 1].name = ("#TK" + i + " " + BBTickerRange.values[i][0]);
BloombergTableOne.columns.getItemAt(i + 1).getHeaderRowRange().format.fill.color = "#DD5D74";
BloombergTableOne.columns.getItemAt(i + 1).getDataBodyRange().clear();
// But for Changing a specific value within the control panel I am still using code like
var SymStartDate = sheet.getRange("D12:D12").getOffsetRange(i, 0);
var SymEndDate = sheet.getRange("E12:E12").getOffsetRange(i, 0);
我想让它查看工作表中的特定列,而不是遍历行,而不是进行通用引用和偏移。
有没有一种方法可以在不写入整个 .getDataBodyRange 的情况下迭代更改列中的单个值
解决方案
// Potential Solution for anyone looking for a workaround.
let SymStartDateCol= sheet.tables.getItem("ControlPanel").columns.getItem("Start Date").getHeaderRowRange().load(["address"]);
//SymStartDateCol.load(["values", "columns", "items", "address"])
let SymEndDateCol= sheet.tables.getItem("ControlPanel").columns.getItem("End Date").getHeaderRowRange().load(["address"]);
return context.sync() .then(async (Symbol) => {
var SymStartDate = sheet.getRange(SymStartDateCol.address).getOffsetRange(i+1, 0);
var SymEndDate = sheet.getRange(SymEndDateCol.address).getOffsetRange(i+1, 0);
推荐阅读
- r - 在 r learnr:tutorial 中以编程方式创建具有多个答案的 question_text
- python - 使用 sklearn 在文本集合中为每个文本输出一个计数向量
- azure-functions - 如何从 blob 存储中读取数据并使用 azure 函数应用程序访问它
- python - 使用pytest在python unittest中注册方法以在tearDown中运行?
- javascript - 在 if else 条件下回滚事务 knex
- amazon-web-services - 我可以在一个域上使用 Zoho 和 AWS SES 吗?
- elasticsearch - 带有短语建议的拼写错误建议(“您的意思是”)和 Elasticsearch 的空格校正
- javascript - 在 React 中使用 Hooks(不是类组件)实时更新购物车的状态
- javascript - 悬停时 .li-hover 不显示 .sub-cat-1
- python - 使用 Pandas 将大型 (14 GB) JSON 文件转换为 CSV 时出现内存错误