【问题标题】:Update only specific columns in Office AddIn (Javascript Excel JS API)仅更新 Office 插件中的特定列(Javascript Excel JS API)
【发布时间】:2021-04-10 13:09:38
【问题描述】:

谁能帮助我使用 Office JS API 仅更新 Excel 表中的特定列。我只想更新列 PSIDName,如下图所示。我正在使用带有 React 和 TypeScript 的 yo Office 模板的项目脚手架的 Node JS。

我正在尝试的代码:

handleSubmit = async () => {
try {
  await Excel.run(async context => {
    var sheet = context.workbook.worksheets.getItem("Tech-Panel");
    var expensesTable = sheet.tables.add("A1:B1", true);//.getItem("TechPannelTable");

    const { PSID, Name, itcEmailIds, clientEmailIds, contactNo, skills, panelStatus,
      client, itcManager, availability, preferredTime, remarks } = this.state.techPanelEntry;

      expensesTable.getHeaderRowRange().values = [["PSID", "Name"]]
      /*expensesTable.rows.add(null, [
        [PSID, Name, itcEmailIds, clientEmailIds, contactNo, skills,
          panelStatus, (dateOfInactive != null ? dateOfInactive.toLocaleDateString("en-US") : null), client, itcManager, availability, preferredTime, remarks]
      ]);*/
      expensesTable.rows.add(null, [
        [PSID, Name]
      ]);

    
    if (Office.context.requirements.isSetSupported("ExcelApi", "1.2")) {
      sheet.getUsedRange().format.autofitColumns();
      sheet.getUsedRange().format.autofitRows();
    }
    await context.sync();
    this.setState({
      ...this.state,
      techPanelEntry: defaultTechPanel()
    })
  });
} catch (error) {
  this.setState({ error: JSON.stringify(error) })
}};

【问题讨论】:

    标签: office365 office-js office-addins microsoft365


    【解决方案1】:

    您可以参考此内容来更新您需要的任何列: table.columns.items[1].getDataBodyRange().values = [["aa"], ["bb"], ["cc"], ["dd"], ["dee"], ["gg" ], ["uu"]];

    【讨论】:

    • 您好,感谢您的意见。所以假设我必须更新 29 列值中的 6 列值,然后我必须编写上述语句 6 次。如果我的列不相邻,还有其他方法可以实现这一点。
    • 如果更新6列,只需复制行并将索引号更改为您要更改的索引。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多