当前位置: 首页 > article >正文

前端EXCEL插件智表ZCELL数据源功能详解

一、数据源功能介绍

前端EXCEL插件智表ZCELL提供了强大的数据源管理功能,使开发者能够灵活地在电子表格中集成和管理结构化数据。数据源功能主要分为两种类型:

  1. 卡片式数据源:适合展示和编辑单个数据记录

  2. 表格式数据源:适合处理表格形式的多行数据

二、核心API详解

1. 创建数据源 (CreatDataSource)

功能:初始化数据源对象,支持卡片式和表格式两种类型。

参数

{name: "数据源名称", //必填type: 0, //0-卡片式,1-表格式data: jsondata, //数据集// 表格式特有参数startrow: 22, //起始行索引(从0开始)startcol: "G", //起始列索引(从A开始)autoBindColumn: true //是否自动绑定列(可选)
}

示例代码

// 创建卡片式数据源
var jsondata = { name: "哪吒", age: 15, address: "陈塘关" };
let option1 = {name: "motong",type: 0,data: jsondata
};
let ds = sheet.CreatDataSource(option1);// 创建表格式数据源
var persons = [];
for (let i = 0; i < 3; i++) {let p = {cn: (i + 1).toString().padStart(3, "0"),book: "西游记",auth: "吴承恩",name: "徒弟" + (i + 1),operate: ""};persons.push(p);
}let option = {name: "person",type: 1,data: persons,startrow: 22,startcol: "G"
};
let ds = sheet.CreatDataSource(option);

2. 设置映射关系 (Mapping)

功能:建立数据字段与表格单元格/列的对应关系。

参数

  • 卡片式:cname(单元格名), field(字段名)

  • 表格式:colname(列名), field(字段名)

示例代码

// 卡片式映射
ds.Mapping("D23", "name"); //单元格名必须大写// 表格式映射
ds.Mapping("G", "cn"); //列名必须大写

3. 设置列样式 (SetColumnInfo)

功能:为表格式数据源的列设置样式,新增行时会自动应用这些样式。

参数

  • colname: 列名

  • coloption: 列样式设置对象

    • cellType: 单元格类型

    • cellStyle: 单元格样式

    • cellBorder: 单元格边框

    • cellFormat: 单元格数值格式

示例代码

ds.SetColumnInfo("G", { cellStyle: colstyle1, cellBorder: border1 
});
 

4. 绑定数据源 (BindDataSource)

功能:将数据源对象与表页对象绑定。

示例代码

sheet.BindDataSource(ds);

5. 获取数据源 (GetDataSource)

功能:通过名称获取已创建的数据源对象。

示例代码

let ds1 = sheet.GetDataSource("motong");
 

三、数据操作功能

1. 新增数据行 (AddRow)

功能:为表格式数据源添加新行。

参数

  • count: 新增行数

  • order: 新增顺序("asc"-尾部增加,"desc"-首行增加)

示例代码

let ds1 = sheet.GetDataSource("person");
if (ds1 != null) {ds1.AddRow(2, "asc"); //在尾部新增2行
}

2. 获取变更数据

ZCELL提供了多种获取变更数据的方法:

// 获取新增行
let drows = ds1.GetInsertRows();// 获取变更行
let drows = ds1.GetChangRows();// 获取删除行
let drows = ds1.GetDeleteRows();// 获取变更单元格(卡片式)
let ccs = ds1.GetChangeCells();

3. 清空变更记录 (ClearChange)

功能:手工清空变更记录,标记为已提交状态。

示例代码

let ds = sheet.GetDataSource("person");
if (ds != null) {ds.ClearChange();
}

四、最佳实践

完整工作流程示例

// 1. 创建表格式数据源
var products = [{ id: "001", name: "笔记本电脑", price: 5999, stock: 100 },{ id: "002", name: "智能手机", price: 3999, stock: 150 }
];let option = {name: "product",type: 1,data: products,startrow: 5,startcol: "B"
};
let ds = sheet.CreatDataSource(option);// 2. 设置列映射
ds.Mapping("B", "id");
ds.Mapping("C", "name");
ds.Mapping("D", "price");
ds.Mapping("E", "stock");// 3. 设置列样式
let priceStyle = { cellFormat: "¥#,##0.00",cellStyle: { fontColor: "#FF0000", fontWeight: "bold" }
};
ds.SetColumnInfo("D", priceStyle);// 4. 绑定数据源
sheet.BindDataSource(ds);// 5. 添加新行
ds.AddRow(1, "asc");// 6. 获取变更(通常在保存时调用)
let newRows = ds.GetInsertRows();
let changedRows = ds.GetChangRows();// 7. 清空变更记录
ds.ClearChange();

五、注意事项

  1. 单元格和列名在映射时必须使用大写字母。

  2. 表格式数据源必须指定startrow和startcol参数。

  3. 新增行时会自动继承列样式设置。

  4. 变更记录只在调用ClearChange前有效。

  5. 一个表页可以绑定多个数据源。

通过本教程,您应该已经掌握了ZCELL插件数据源功能的核心使用方法。这些功能可以大大简化电子表格中的数据管理任务,特别适合需要将结构化数据与电子表格结合的应用场景。

http://www.lryc.cn/news/2388882.html

相关文章:

  • 打卡第31天:模块和库的导入
  • LLM Coding
  • Qt 的多线程
  • 【请关注】各类MySQL数据备份还原分享
  • Go语言方法与接收者 -《Go语言实战指南》
  • 基于 STM32 的农村污水处理控制系统设计与实现
  • 【Linux】进程 信号的产生
  • 实时操作系统革命:实时Linux驱动的智能时代底层重构
  • NGINX HTTP/3 实验指南安装、配置与调优
  • 机器学习中的维度、过拟合、降维
  • 关于git的使用
  • 预约按摩小程序源码介绍
  • Elasticsearch创建快照仓库报错处理
  • LINUX安装运行jeelowcode前端项目
  • 使用DDR4控制器实现多通道数据读写(十三)
  • 如何描述BUG
  • Python进阶:如何通过组合模式实现高性能Vector类?
  • 谷歌Veo vs Sora:AI视频生成技术的巅峰对决
  • 基于Spring boot+vue的中医养生系统的设计与实现(源码+论文+部署+安装+调试+售后)
  • 31.第二阶段x64游戏实战-封包-线程发包
  • Unity数字人开发笔记
  • 嵌入式开发--STM32G431无法正常运行程序,BOOT0与CAN冲突
  • 每天掌握一个Linux命令 - sqlite3
  • 程序环境与预处理
  • RT Thread Nano V4.1.1 rtconfig.h 注释 Configuration Wizard 格式
  • 《Java 单例模式:从类加载机制到高并发设计的深度技术剖析》
  • JSONP跨域原理全解析
  • 【MySQL】第11节|MySQL 8.0 主从复制原理分析与实战(一)
  • 全志F1c200开发笔记——移植根文件系统
  • [yolov11改进系列]基于yolov11引入自注意力与卷积混合模块ACmix提高FPS+检测效率python源码+训练源码