SpreadJS 16.0 中文版在线电子表设计预览EXCEL-Crack

news2025/1/17 16:05:33

SpreadJS 纯前端表格控件 - V16.0 新特性--内容摘自互联网

新文件结构是 SpreadJS 近几个版本中最为重要的架构级更新。这种新文件结构可以大大提高导入大型 Excel 文件的性能,同时在保存时创建更小、优化更好的文件。

在 V15.0 及更早的版本中,SpreadJS 需要先导出 SSJSON ,再导出 Excel 的 xlsx 文档。新的文件格式可以直接将数据转换为模型。生成的数据被保存到一个压缩的 .sjs 文件中,使其类似于 Excel 自身的 XML 结构。这种格式让 ExcelIO 的进程更快、更轻量。

 

导出文件性能对比(单位:毫秒) 

集算表(TableSheet)增强
SpreadJS 集算表(TableSheet)是一个具备数据绑定功能、公式计算能力的高性能数据表格,提供排序、筛选、样式、行列冻结、自动更新、单元格更新等能力。集算表在 V16.0 中获得了更多功能:

1、关系数据管理器(DataManager)中的层级数据
TableSheets 现在支持源数据中的层级结构数据。这包括四种不同类型的记录数据:

属性“id”和“parentId”

 

指示层级结构级别的属性

 

包含分层子集的属性

 

可以通过自定义函数解析为层级结构的,包含主键的数据

 

配置父子层次结构类型代码示例:

 

还添加了层级结构操作,使用户能够:

升级/降级记录
向上/向下移动记录
在之后/之前或之上/之下插入记录
删除一条记录
展开/折叠所有记录级别或特定级别
排序/过滤记录

 

2、关系数据管理器(DataManager)字段名称映射

关系数据管理器(DataManager)的数据源模式现在支持为列设置别名,允许数据源的前端和后端之间使用不同的名称。这可以通过在向 DataManager 添加视图时简单地设置“caption”属性来完成。如图:

 

设计器(Designer)增强
我们对 SpreadJS 的设计器组件进行了增强,包括本博客前面 TableSheet 部分的一些相应功能:

1、集算表(TableSheet)模板和面板增强

当集算表最初被添加到 SpreadJS 时,我们在设计器中添加了一个面板来管理 TableSheets。在 V16.0 中使用列列表中的关系数据时,可以进行折叠特定列的操作。此外,用户可以单击关系列以显示该特定列的详细信息。在工作簿中选择集算表时,此功能也适用于设计器右侧的集算表面板。其他功能包括分组和拖动字段。

 

2、集算表(TableSheet)层次结构数据

设计器中有关集算表(TableSheet) 的另一个增强,是在数据源的“列”选项卡中添加了对分层数据的支持。列现在有一个单独的“层次结构”部分,其中包含可以定义的类型、聚合公式和分组列:

 

这些选项可以按如下方式使用:

类型 - 定义为 Parent、ChildrenPath 或 Level
汇总公式 - 输入指定列的层级汇总公式
大纲列 - 自定义列的显示,指定是否包括复选框、图像或指示器
3、在选择区域中执行查找/替换

在大型工作表中搜索特定数据时,您可能只想搜索选中区域的单元格内容。在 V16.0 中,我们添加了对查找和替换功能的增强,支持了仅在选中区域的单元格中进行搜索。

 

4、格式面板

新的格式窗格按钮让用户可以快速打开形状、图片和图表的侧边栏。

 

计算增强
无效的公式输入行为和样式

SpreadJS 会自动识别无效的公式,并在用户尝试提交时显示错误。在 V15.0 及更早版本中,如果公式无效,输入的内容会被自动删除。在 V16.0 版本中,我们添加了对应的可选项,支持将输入错误的公式保留在单元格中以便用户修正,当我们设置 AllowInvalidFormula 选项设置为 true 时,输入的错误公式将被转换为文本并保留:

spread.options.allowInvalidFormula = true;

设计器配置方法:

 

代码配置方法:

通过此增强功能,我们还添加了专门针对无效公式的单元格状态。这意味着您可以实现自动标记具有无效公式的单元格并将样式应用于这些特定单元格。

 

形状增强
1、类 Excel 的表单控件(Form Controls)

为了更轻松地在 SpreadJS 中创建您自己的表单,我们添加了一些基于 SpreadJS 形状的有用的类似 Excel 的表单控件。这些控件包括:

按钮(Buttons)
微调按钮(Spin Buttons)
列表框(List Boxes)
组合框(Combo Boxes)
复选框(Check Boxes)
选项按钮(Option Buttons)
分组框(Group Boxes)
标签(Labels)
滚动条(Scrollbars)

 

通过指定表示控件位置和大小的 addFormControl 方法的 left、top、width 和 height 参数,可以将这些控件放置在工作表中的任何位置。一旦设置了位置和大小并创建了控件,它就可以绑定到特定的单元格,例如上面屏幕截图中的年龄微调按钮。此外,还添加了一个名为 FormControlValueChanged 的新事件,以便在表单控件的值发生变化(UI 操作、API 调用或关联的单元格发生变化)时触发。

2、调整大小(Resizing)增强

开发人员现在可以限制或允许不同类型的形状调整大小。这些类型包括纵横比、水平和垂直调整大小,可以使用 API“allowResize”进行设置。

 

3、Shift+鼠标调整大小行为

当 allowResize 在工作表中设置为 true 时,可以在使用鼠标调整形状大小时按住 shift 键以保持形状的纵横比。 

工作簿(Workbook)增强
我们对 SpreadJS 的工作簿功能做了一些增强:

1、复制/剪切取消事件

复制和剪切事件已得到增强以提供剪贴板的当前状态。这有助于在复制/剪切/粘贴过程的某些阶段实现特定功能,并向以下事件添加额外的参数:

ClipboardChanging
ClipboardPasting
ClipboardPasted
2、单元格装饰样式

我们的样式实现已得到增强,包括单元格装饰。包括:

遮角样式
边角样式
图标(位置、图标和颜色)

3、数据验证(Data Validation)的自定义样式

数据验证可用于标记非法的单元格数据或防止输入特定数据。V16.0 可以为该验证设置样式,但对于此版本,我们添加了为数据验证设置自定义样式的功能。

 

4、在 EditEnding 和 EditEnded 事件中取消输入

EditEnding 和 EditEnded 事件发生在用户在单元格中输入或更改数据之后。在 V16.0 版本中,我们添加了一个取消参数,以便开发人员可以在需要时取消编辑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/378722.html

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

相关文章

android事件分发机制源码分析

没什么用的前言责任链设计模式流程图源码分析 没什么用的前言 事件分发机制是面试中一道必问的题目,而我的应对方式则是,在网络上找一些博客看看,然后做一些笔记,最后在面试时将我自己记住的内容说出来。这种方式本身没有太大的…

Editor工具开发实用篇:EditorGUI/EditorGUILayout的区别和EditorGUILayout的方法介绍

目录 一:EditorGUI和EditorGUILayout区别 二:EditorGUILayout 1.EditorGUILayout.BeginFadeGroup(float value); 2.EditorGUILayout.BeginHorizontal EditorGUILayout.BeginVertical 3.EditorGUILayout.BeginScrollView 4.EditorGUILayout.BeginT…

携手中国联通丨美格智能成为中国联通物联网产业联盟苏州分联盟副理事长单位

2月24日,联通数科物联网2023年巡展活动首场——中国联通物联网生态合作伙伴大会暨中国联通物联网产业联盟苏州分联盟成立仪式在苏州成功举办。本次活动由联通数字科技有限公司、中国联通物联网产业联盟联合主办,江苏省物联网服务协会指导,中国…

MySQL运维篇之日志

01、日志 1.1、错误日志 错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的&…

微服务之Nacos注册与配置

🏠个人主页:阿杰的博客 💪个人简介:大家好,我是阿杰,一个正在努力让自己变得更好的男人👨 目前状况🎉:24届毕业生,奋斗在找实习的路上🌟 &#x1…

短视频美颜sdk人脸编辑技术详解、美颜sdk代码分析

短视频美颜sdk中人脸编辑技术可以将人像风格进行转变,小编认为这也是未来的美颜sdk的一个重要发展方向,下文小编将为大家讲解一下短视频美颜sdk中人脸编辑的关键点。 一、人脸编辑的细分关键点 1、年龄 通过更改人脸的年龄属性,可用于模仿人…

「TCG 规范解读」TCG 软件栈 TSS (下)

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alliance,TCPA)所开发的规范。现在的规范都不是最终稿,都…

【Redis】Redis线程IO模型与基于文件的网络通信模型(Redis专栏启动)

📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化,文章内容兼具广度、深度、大厂技术方案,对待技术喜欢推理加验证,就职于…

Unity 渲染顺序

Unity中的渲染顺序自上而下大致分为三层渲染优先级 Camera depth > Sorting Layer > Order in Layer > RenderQueueCamera depth:越小越优先(大的显示在小的前面)如图:尽管Sphere距离摄像机较远,但由于Camera_Sphere dep…

Linux 常用 API 函数

文章目录1. 系统调用与库函数1.1 什么是系统调用1.2 系统调用的实现1.3 系统调用和库函数的区别2. 虚拟内存空间3. 错误处理函数4. C 库中 IO 函数工作流程5. 文件描述符6. 常用文件 IO 函数6.1 open 函数6.2 close 函数6.3 write 函数6.4 read 函数6.5 lseek 函数7. 文件操作相…

算法笔记(十六)—— 有序表(红黑树,AVL树,Size-balance树,跳表),一文搞定!

有序表所有的操作都是O(logN)级别(红黑树,AVL树,Size-balance树,跳表)。 红黑树,AVL树,Size-balance树都属于平衡搜索二叉树(BST)。 搜索二叉书(不保证平衡性…

OSPF -- (开放式最短路径优先协议)(公共协议)

OSPF -- (开放式最短路径优先协议)(公共协议) 1、属性:无类别链路状态IGP协议 无类别:更新携带精确掩码 链路状态:共享拓扑(共享LSA)本地计算路由IGP: 基于…

EasyExcel

文章目录🚏 EasyExcel🚀 一、初识EasyExcel🚬 1、Apache POI🚭 1.1 学习使用成本较高🚭 1.2 POI的内存消耗较大🚭 1.3 特点🚬 2、EasyExcel🚭 2.1 重写了POI对07版Excel的解析&#…

Nginx学习整理

Nginx学习第一章 Nginx概述1.1、Nginx概述1.2、Nginx官网1.3、Nginx用处第二章 Nginx单实例安装2.1、环境说明2.2、安装依赖2.3、Nginx下载2.4、Nginx解压2.5、Nginx安装2.6、Nginx命令2.7、开放防火墙2.8、启动后效果第三章 Nginx正向代理、反向代理3.1、概述3.2、反向代理配置…

大数据|Hadoop系统

目录 📚Hadoop介绍 📚Hadoop优点 📚Hadoop的体系结构 🐰HDFS的体系结构 🐰MapReduce的体系结构 🐰HDFS和MapReduce的协同作用 📚Hadoop与分布式开发 🐰MapReduce计算模型 &a…

【让面试官吃惊的回答:HTTP中GET和POST请求的区别你知道吗?】

一.知识回顾 之前我们一起学习了HTTP1.0、HTTP1.1、HTTP2.0协议之前的区别、以及URL地址栏中输入网址到页面展示的全过程&&DNS域名解析的过程、HTTP协议基本概念以及通信过程、HTTPS基本概念、SSL加密原理、通信过程、中间人攻击问题、HTTP协议和HTTPS协议区别、HTTP协…

Python - Opencv应用实例之CT图像检测边缘和内部缺陷

Python - Opencv应用实例之CT图像检测边缘和内部缺陷 将传统图像处理处理算法应用于CT图像的边缘检测和缺陷检测,想要实现效果如下: 关于图像处理算法,主要涉及的有:灰度、阈值化、边缘或角点等特征提取、灰度相似度变换,主要偏向于一些2D的几何变换、涉及图像矩阵的一些统…

使用ChIPSeeker进行ChIP-seq, ATAC-seq,cuttag等富集峰的基因组注释

二代测序产生的数据类型 常规的下一代高通量测序(next generation sequencing, NGS)实验通常产生大量短片段(reads),通常我们需要将这些reads比对到参考基因组/转录组上,即将它们置于生物学上有意义的基因背景下,才能…

《MySql学习》 Select 查询语句慢的非性能原因

一.查询被阻塞 A会话执行 查询操作,长时间没有返回信息,此时我们就可以去排查一下是否是被阻塞了 select * from words 被阻塞的原因有很多,首先列举第一种情况 1.等MDL锁 当我们执行DDL语句时,会自动给表加上MDL写锁。当执行DML和DQL时&…

电压放大器和电流放大器的区别是什么意思

在日常电子实验测试中,很多电子工程师都会使用到电压放大器和电流放大器,但是很多新手工程师却无法区分两者的区别,下面就让安泰电子来为我们讲解电压放大器和电流放大器的区别是什么意思。 一、电压放大器介绍: 电压放大器是一种…