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

news2025/5/30 18:22:57

一、数据源功能介绍

前端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.coloradmin.cn/o/2388882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】进程 信号的产生

&#x1f33b;个人主页&#xff1a;路飞雪吖~ &#x1f320;专栏&#xff1a;Linux 目录 一、掌握Linux信号的基本概念 &#x1f320;前台进程 VS 后台进程 &#x1f320; 小贴士&#xff1a; &#x1fa84;⼀个系统函数 --- signal() &#x1fa84;查看信号 --- man 7 sign…

机器学习中的维度、过拟合、降维

1. 维度灾难 当我们谈论机器学习模型在处理数据时遇到的困难&#xff0c;一个常常被提及的词便是“维度灾难”&#xff08;Curse of Dimensionality&#xff09;。这不是科幻小说里的情节&#xff0c;而是数学和计算世界里真实存在的困境。它指的正是&#xff1a;当数据集的特…

关于git的使用

下载git 可以去git的官网下载https://git-scm.com/downloads 也可以去找第三方的资源下载&#xff0c;下载后是一个exe应用程序&#xff0c;直接点开一直下一步就可以安装了 右键任意位置显示这两个就代表成功&#xff0c;第一个是git官方的图形化界面&#xff0c;第二个是用…

预约按摩小程序源码介绍

基于ThinkPHP、FastAdmin和UniApp开发的预约按摩小程序源码&#xff0c;ThinkPHP作为后端框架&#xff0c;以其高效稳定著称&#xff0c;能妥善处理数据逻辑与业务规则。FastAdmin作为后台管理框架&#xff0c;极大简化了后台管理系统的搭建与维护。UniApp则让小程序具备跨平台…

Elasticsearch创建快照仓库报错处理

创建快照仓库报错&#xff1a; 根据报错提示的信息&#xff0c;问题可能出在 Elasticsearch 的配置中。当你尝试创建一个文件系统&#xff08;fs&#xff09;类型的快照仓库时&#xff0c;虽然已经指定了 location 参数&#xff0c;但 Elasticsearch 仍然报错&#xff0c;这通…

使用DDR4控制器实现多通道数据读写(十三)

一、概述 在上一章节中使用仿真简单验证了interconnect的功能&#xff0c;使用四个axi4的主端口同时发起读写命令&#xff0c;经过interconnect后&#xff0c;将这些读写指令依次发给ddr4控制器。Ddr4控制器响应后再依次将响应发送到各个通道。从而实现多通道读写ddr4控制器的功…

谷歌Veo vs Sora:AI视频生成技术的巅峰对决

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 ——从架构到实践&#xff0c;解析音画同步、物理模拟与长视频生成的破局之战 一、技术架构&#xff1a;双雄对垒&#xff0c;殊途同归&#xff1f; 谷歌…

基于Spring boot+vue的中医养生系统的设计与实现(源码+论文+部署+安装+调试+售后)

感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望帮助更多的人。 系统背景 在健康中国战略持续推进与全民健康意识显著提升的时代背景下&#xff0c;中医养生作为中…

31.第二阶段x64游戏实战-封包-线程发包

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 上一个内容&#xff1a;30.第二阶段x64游戏实战-认识网络数据包发送流程 代码跳转 ws2_32.send跳转sen…

Unity数字人开发笔记

开源工程地址&#xff1a;https://github.com/zhangliwei7758/unity-AI-Chat-Toolkit 先致敬zhangliwei7758&#xff0c;开放这个源码 一、建立工程 建立Unity工程&#xff08;UnityAiChat&#xff09;拖入Unity-AI-Chat-Toolkit.unitypackage打开chatSample工程&#xff0c;可…

嵌入式开发--STM32G431无法正常运行程序,BOOT0与CAN冲突

故障现象 今天开发STM32G431时遇到一个问题&#xff0c;板子打样回来后&#xff0c;焊接完成&#xff0c;可以烧程序&#xff0c;可以读FLASH&#xff0c;却死活不能运行&#xff0c;也不能进仿真调试。 故障定位 经过排查&#xff0c;发现将隔离芯片π121M31拆除&#xff0…

程序环境与预处理

一、程序的翻译环境和执行环境 翻译环境&#xff1a;将源代码转化为可执行的机器指令 执行环境&#xff1a;执行代码 1、翻译环境 流程&#xff1a; 二、运行环境 程序执行过程&#xff1a; 三、预编译阶段 1、预定义符号 __FILE__ //进行编译的原文件名 __LINE__ //文…

《Java 单例模式:从类加载机制到高并发设计的深度技术剖析》

【作者简介】“琢磨先生”--资深系统架构师、985高校计算机硕士&#xff0c;长期从事大中型软件开发和技术研究&#xff0c;每天分享Java硬核知识和主流工程技术&#xff0c;欢迎点赞收藏&#xff01; 一、单例模式的核心概念与设计目标 在软件开发中&#xff0c;我们经常会遇…

全志F1c200开发笔记——移植根文件系统

1.下载buildroot Index of /downloads/ 使用2018.02.11版本 直链下载 https://buildroot.org/downloads/buildroot-2018.02.11.tar.gz 2.配置 进入buildroot压缩包目录下&#xff0c;使用命令解压并进入工作目录 tar -xf buildroot-2018.02.11.tar.gz cd buildroot-2018.…

[yolov11改进系列]基于yolov11引入自注意力与卷积混合模块ACmix提高FPS+检测效率python源码+训练源码

[ACmix的框架原理] 1.1 ACMix的基本原理 ACmix是一种混合模型&#xff0c;结合了自注意力机制和卷积运算的优势。它的核心思想是&#xff0c;传统卷积操作和自注意力模块的大部分计算都可以通过1x1的卷积来实现。ACmix首先使用1x1卷积对输入特征图进行投影&#xff0c;生成一组…

Java NIO编程:构建高性能网络应用

1.Java NIO 核心概念与架构 1. 传统 BIO 与 NIO 的对比 特性 BIO (Blocking I/O) NIO (Non-blocking I/O) I/O 模型 阻塞 非阻塞 / 异步 线程模式 每个连接一个线程 单线程管理多个连接 数据处理单位 字节流 / 字符流 缓冲区 (Buffer) 核心组件 Socket, ServerSoc…

如何实现高性能超低延迟的RTSP或RTMP播放器

随着直播行业的快速发展&#xff0c;RTSP和RTMP协议成为了广泛使用的流媒体传输协议&#xff0c;尤其是在实时视频直播领域&#xff0c;如何构建一个高性能超低延迟的直播播放器&#xff0c;已经成为了决定直播平台成功与否的关键因素之一。作为音视频直播SDK技术老兵&#xff…

C语言数据结构-单向链表

头文件&#xff1a;link.h #ifndef __LINK_H__ #define __LINK_H__ #include <stdio.h> #include <stdlib.h> typedef int DataType; /*节点数据类型*/ typedef struct node { DataType data; //数据域 struct node *pNext; //指…

小样本分类新突破:QPT技术详解

问题导向式提示调优(QPT) 这篇论文主要讲了一个针对小样本(数据量少)文本分类问题的新方法,叫问题导向式提示调优(QPT)。 核心思路是让预训练语言模型(比如BERT的升级版RoBERTa)在少量标注数据下,通过设计特定的“提问式模板”和“标签词扩展技术”来提升分类效果。…

Excel常用公式全解析(1):从基础计算到高级应用

Excel常用公式全解析&#xff1a;从基础计算到高级应用 目录 Excel常用公式全解析&#xff1a;从基础计算到高级应用[toc](目录)一、基础计算类&#xff1a;数据运算的基石1. 求和公式&#xff08;SUM&#xff09;2. 平均值公式&#xff08;AVERAGE&#xff09;3. 最值与计数公…