如何获取excel表格数据?

阅读次数 14698

能批量获取单元格数据吗?

111

4 Answers

如果需要多个单元格的值, 可以封装一个函数:

function getRangeValues(app, addr) {
  let values = []

  const range = await app.Range(addr);


  const rows = await range.Rows.Count;
  const columns = await range.Columns.Count;

  // 【只读】遍历读取单元格格式化文本
  for (let i = 1; i <= rows; i++) {
    for (let j = 1; j < columns; j++) {
	  const text = await range.Item(i, j).Text;
      values.push(text);
    }
  }
  return values
}

//const sdk = await jssdk.ready()
//getRangeValues(sdk.Application, "工作表1!A1:C100")

这个接口不行啊,不能返回range区域的数据,只能返回第一个单元格的数据

通过循环遍历读取每个单元格数据

  // 区域对象   const range = await app.Range('A1:B2');

  // 单元格对象   const cells = await range.Cells;

  // 区域的数量   const count = await range.Count;
  console.log(count);

  // 【只读】遍历读取单元格格式化文本   for (var i = 1; i <= count; i++) {
    const text = await cells.Item(i).Text;
    console.log(text);
  }

这个接口不行啊,不能返回range区域的数据,只能返回第一个单元格的数据

这个方案数据多了就太慢了,能不能出个api获取二维数组数据的?