Skip to content

区域 A1:B4 输入内容。

AB
部门姓名
销售张三
技术李四
技术王五

选择单元格 A1 或者其他,使用 Ctrl + L 插入表,勾选 我的表包含标题 ,默认生成名称 表1

document.getElementById("run").addEventListener("click", run);

async function run() {
  await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getActiveWorksheet();
    const table = sheet.tables.getItem("表1");
    const body = table.getDataBodyRange().load("values");
    await context.sync();

    console.log(body.values);
  });
}
<button id="run">Run</button>

对二维数组进行处理。

document.getElementById("run").addEventListener("click", run);

// 两个数组,组成对象
function zip(k, v) {
  const e = k.map((key, index) => [key, v[index]]);
  return Object.fromEntries(e);
}

async function run() {
  await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getActiveWorksheet();
    const table = sheet.tables.getItem("表1").getRange().load("values");
    await context.sync();

    const tableValues = table.values
    const [header, ...body] = tableValues;
    const result = [];
    for (let i of body) {
      result.push(zip(header, i));
    }
    console.log(result);
  });
}

联系 math@baima.site