前端EXCEL插件智表ZCELL数据源功能详解
一、数据源功能介绍
前端EXCEL插件智表ZCELL提供了强大的数据源管理功能,使开发者能够灵活地在电子表格中集成和管理结构化数据。数据源功能主要分为两种类型:
-
卡片式数据源:适合展示和编辑单个数据记录
-
表格式数据源:适合处理表格形式的多行数据
二、核心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();
五、注意事项
-
单元格和列名在映射时必须使用大写字母。
-
表格式数据源必须指定startrow和startcol参数。
-
新增行时会自动继承列样式设置。
-
变更记录只在调用ClearChange前有效。
-
一个表页可以绑定多个数据源。
通过本教程,您应该已经掌握了ZCELL插件数据源功能的核心使用方法。这些功能可以大大简化电子表格中的数据管理任务,特别适合需要将结构化数据与电子表格结合的应用场景。
相关文章:
前端EXCEL插件智表ZCELL数据源功能详解
一、数据源功能介绍 前端EXCEL插件智表ZCELL提供了强大的数据源管理功能,使开发者能够灵活地在电子表格中集成和管理结构化数据。数据源功能主要分为两种类型: 卡片式数据源:适合展示和编辑单个数据记录 表格式数据源:适合处理表…...
打卡第31天:模块和库的导入
重复内容 知识点回顾: 1.导入官方库的三种手段 2.导入自定义库/模块的方式 3.导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致) 作业:自己新建几个不同路径文件尝试下如何导入 导入机制的核…...
LLM Coding
AI Coding 深度解析:探索编程新范式与未来趋势 | w3cschool笔记https://www.phodal.com/blog/ai-friendly-architecture/bmadcode/BMAD-METHOD: Breakthrough Method for Agile Ai Driven Development...
Qt 的多线程
Qt 中的多线程主要用于处理耗时操作,避免阻塞主线程(UI 线程),从而提高程序的响应性和运行效率。以下是 Qt 多线程的相关技术总结: 常见的多线程实现方式 继承 QThread 类 :最基础的实现方式,具体步骤为继承 QThread 类,重写其 run() 函数,在 run() 函数中编写线程要…...
【请关注】各类MySQL数据备份还原分享
MySQL数据备份的全部方法 MySQL数据备份是数据库管理中的关键任务,以下是MySQL数据备份的全面方法总结: 一、逻辑备份方法 1. **mysqldump工具** - 最常用的备份工具 - 命令示例: >bash mysqldump -u [username] -p[password] [database_name] > backup.sql > -…...
Go语言方法与接收者 -《Go语言实战指南》
在 Go 中,方法是绑定到某个类型上的函数。与普通函数不同,方法具有一个“接收者(receiver)”,用于指定它是哪个类型的“方法”。 一、方法的定义语法 func (接收者名 接收者类型) 方法名(参数列表) 返回值列表 {// 方…...
基于 STM32 的农村污水处理控制系统设计与实现
摘要 针对农村污水处理自动化程度低、运维成本高的问题,本文设计了一种基于 STM32 单片机的污水处理控制系统。系统通过多传感器实时监测水质参数,结合 PID 控制算法实现污水处理全流程自动化,并集成远程监控功能,满足农村地区低成本、易维护的需求。 一、硬件系统设计 …...

【Linux】进程 信号的产生
🌻个人主页:路飞雪吖~ 🌠专栏:Linux 目录 一、掌握Linux信号的基本概念 🌠前台进程 VS 后台进程 🌠 小贴士: 🪄⼀个系统函数 --- signal() 🪄查看信号 --- man 7 sign…...
实时操作系统革命:实时Linux驱动的智能时代底层重构
一、智能时代对实时性的终极挑战 在万物互联的智能时代,人类对机器响应速度的期待已突破物理极限。当工业机器人以亚毫米级精度执行微米级加工任务,当自动驾驶系统在130公里时速下需在10毫秒内完成决策切换,当医疗机器人需在5毫秒内响应神经…...
NGINX HTTP/3 实验指南安装、配置与调优
一、HTTP/3 简介 基于 QUIC:在 UDP 之上实现的多路复用传输,内置拥塞控制与前向纠错,无需三次握手即可恢复连接。零 RTT 重连:借助 TLS 1.3,实现连接恢复时的 0-RTT 数据发送(视底层库支持)。多…...

机器学习中的维度、过拟合、降维
1. 维度灾难 当我们谈论机器学习模型在处理数据时遇到的困难,一个常常被提及的词便是“维度灾难”(Curse of Dimensionality)。这不是科幻小说里的情节,而是数学和计算世界里真实存在的困境。它指的正是:当数据集的特…...

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

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

Elasticsearch创建快照仓库报错处理
创建快照仓库报错: 根据报错提示的信息,问题可能出在 Elasticsearch 的配置中。当你尝试创建一个文件系统(fs)类型的快照仓库时,虽然已经指定了 location 参数,但 Elasticsearch 仍然报错,这通…...
LINUX安装运行jeelowcode前端项目
参考 JeeLowCode低代码社区,JeeLowCode低代码开发平台,JeeLowCode低代码开发框架,快速启动(VUE) 安装node 18 LINUX安装node/nodejs_linux安装node 安装到哪-CSDN博客 安装PNPM LINUX安装PNPM-CSDN博客 下载 git clone https://gitcode.com/jeelo…...

使用DDR4控制器实现多通道数据读写(十三)
一、概述 在上一章节中使用仿真简单验证了interconnect的功能,使用四个axi4的主端口同时发起读写命令,经过interconnect后,将这些读写指令依次发给ddr4控制器。Ddr4控制器响应后再依次将响应发送到各个通道。从而实现多通道读写ddr4控制器的功…...
如何描述BUG
一、如何描述BUG 1.1 版本信息 1.1.1 必填项 精确到构建版本号(如v2.3.1_build20240615) 获取方式: 代码版本控制系统(Git提交哈希值)应用内版本信息(App的About页面)持续集成工具生成的版本…...
Python进阶:如何通过组合模式实现高性能Vector类?
🔍 设计动机:为何抛弃继承选择组合? 在实现多维向量类Vector时,我们刻意采用组合模式而非继承,核心优势在于: 高扩展性:通过array数组存储分量,天然支持高维向量低耦合:…...

谷歌Veo vs Sora:AI视频生成技术的巅峰对决
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 ——从架构到实践,解析音画同步、物理模拟与长视频生成的破局之战 一、技术架构:双雄对垒,殊途同归? 谷歌…...

基于Spring boot+vue的中医养生系统的设计与实现(源码+论文+部署+安装+调试+售后)
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 系统背景 在健康中国战略持续推进与全民健康意识显著提升的时代背景下,中医养生作为中…...

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

Unity数字人开发笔记
开源工程地址:https://github.com/zhangliwei7758/unity-AI-Chat-Toolkit 先致敬zhangliwei7758,开放这个源码 一、建立工程 建立Unity工程(UnityAiChat)拖入Unity-AI-Chat-Toolkit.unitypackage打开chatSample工程,可…...

嵌入式开发--STM32G431无法正常运行程序,BOOT0与CAN冲突
故障现象 今天开发STM32G431时遇到一个问题,板子打样回来后,焊接完成,可以烧程序,可以读FLASH,却死活不能运行,也不能进仿真调试。 故障定位 经过排查,发现将隔离芯片π121M31拆除࿰…...
每天掌握一个Linux命令 - sqlite3
Linux 命令工具 sqlite3 使用指南 一、工具概述 sqlite3 是 SQLite 数据库的命令行工具,用于在 Linux 系统中直接操作 SQLite 数据库(轻量级、无服务器、嵌入式关系型数据库)。 核心特点: 无需安装数据库服务,直接通…...

程序环境与预处理
一、程序的翻译环境和执行环境 翻译环境:将源代码转化为可执行的机器指令 执行环境:执行代码 1、翻译环境 流程: 二、运行环境 程序执行过程: 三、预编译阶段 1、预定义符号 __FILE__ //进行编译的原文件名 __LINE__ //文…...
RT Thread Nano V4.1.1 rtconfig.h 注释 Configuration Wizard 格式
rtcomfig.h 以下是对 [rtconfig.h](file://c:\Users\admin\Downloads\rtthread-nano-master\rt-thread\bsp\stm32f407-msh\RT-Thread\rtconfig.h) 文件中每一个配置项的详细注释说明: 基本配置(Basic Configuration) [RT_THREAD_PRIORITY_MAX](file://c:\Users\admin\Downl…...

《Java 单例模式:从类加载机制到高并发设计的深度技术剖析》
【作者简介】“琢磨先生”--资深系统架构师、985高校计算机硕士,长期从事大中型软件开发和技术研究,每天分享Java硬核知识和主流工程技术,欢迎点赞收藏! 一、单例模式的核心概念与设计目标 在软件开发中,我们经常会遇…...
JSONP跨域原理全解析
JSONP(JSON with Padding)是一种绕过浏览器同源策略限制、实现跨域数据请求的“hack”式方案。其核心原理和流程如下: 同源策略限制 浏览器为了安全,只允许页面从与当前页面相同协议、域名、端口的服务器加载数据。而 <script&…...
【MySQL】第11节|MySQL 8.0 主从复制原理分析与实战(一)
一、MySQL主从复制基础 1. 核心概念 定义: MySQL主从复制是将主库(Source/Master)的数据变更同步到一个或多个从库(Replica/Slave)的机制,默认采用异步复制,支持全库、指定库或表的同步。 角…...

全志F1c200开发笔记——移植根文件系统
1.下载buildroot Index of /downloads/ 使用2018.02.11版本 直链下载 https://buildroot.org/downloads/buildroot-2018.02.11.tar.gz 2.配置 进入buildroot压缩包目录下,使用命令解压并进入工作目录 tar -xf buildroot-2018.02.11.tar.gz cd buildroot-2018.…...