找回密码
 立即注册

QQ登录

只需一步,快速开始

硕㏒

金牌服务用户

53

主题

144

帖子

467

积分

金牌服务用户

积分
467
硕㏒
金牌服务用户   /  发表于:2024-4-1 09:43  /   查看:2157  /  回复:3
本帖最后由 Richard.Huang 于 2024-4-3 16:39 编辑

产品:SpreadJS

image.png932928466.png

我在表格设计器中设置了一个table,合并了一些单元格,根据rang获取表格数据,会带出来合并的单元格的值,包括表头的,下面是我获取数据的方法:
有什么办法能获取合并后的数据,不受多余的影响?
  1. getTable(){
  2.   const spread = this.designer.getWorkbook();
  3.   const activeSheet = spread.getActiveSheet();
  4.   let table = activeSheet.tables.findByName("Table2");
  5.   // 定义一个数组来存放最终的数据
  6.   let tableData = [];
  7.   // // 获取表格的列数
  8.   // let colCount = table.range().colCount;
  9.   // // 获取表格的行数
  10.   // let rowCount = table.range().rowCount - 1; // 减去1是因为表头不算在内
  11.   // console.log("列数:", colCount, "行数:", rowCount);
  12.   if (table) {
  13.     // 获取表格的范围
  14.     let tableRange = table.range();
  15.     // 遍历表格的每一行
  16.     for (
  17.       // + 1
  18.       let row = tableRange.row;
  19.       row < tableRange.row + tableRange.rowCount;
  20.       row++
  21.     ) {
  22.       // 定义一个数组来存放当前行的数据
  23.       let rowData = [];
  24.       // 遍历当前行的每一列
  25.       for (
  26.         let col = tableRange.col;
  27.         col < tableRange.col + tableRange.colCount;
  28.         col++
  29.       ) {
  30.         // 获取单元格的值
  31.         let value = activeSheet.getValue(row, col);
  32.         // 将当前单元格的数据存放到当前行的数据数组中
  33.         // 列的索引从1开始,因此使用 col - tableRange.col + 1 作为键
  34.         rowData.push({ [col - tableRange.col + 1]: value });
  35.       }
  36.       // 将当前行的数据数组添加到最终的数据数组中
  37.       tableData.push(rowData);
  38.     }
  39.   }
  40.   console.log(tableData);
  41.   return tableData;
  42. }
复制代码

3 个回复

倒序浏览
硕㏒
金牌服务用户   /  发表于:2024-4-1 10:24:48
沙发
能提供下远程视频会议的方式支持下吗?table我现在有很多问题想要沟通下,文字表达的不清楚,效率也低
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-1 14:18:05
板凳
您好,如刚刚电话的沟通,column的问题因为合并单元格只是显示意义上的合并,单元格实际的索引是不变的,所以需要您在获取值的时候自行判断一下。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-5-6 10:00:29
地板
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部