最近项目中有使用到这个插件,于是重点了解了一下,在github上有9k+的星星,虽然是收费产品,但是别急,小编有办法去掉水印呀!一起来看看吧!

首先列出它的官方文档 Handsontable,学习一个东西一定要看它的API文档哦!

其次,它的兼容性,不管你的是Vue项目,React项目、Angle...(不会拼。。。)项目、还是H5,它都是兼容的!这个不要太感动了,一起来操作一下吧!

如果是H5项目,查看这个H5项目,别人写的很详细,效果如下图。

H5效果图

我主要做了react项目下实现效果,在npm安装后  npm install handsontable @handsontable/react  在项目中引入css和组件直接使用

关键的配置如下:

width: '100%', //表格的宽度

height: 470, //表格的高度 设置了才会出现scroll

className: "htCenter htMiddle", //垂直水平居中

colWidths: 55, //每列的宽度

rowHeights: 35, //每行的高度

//fixedRowsTop: 2,     //固定两行excel的冻结

//fixedColumnsLeft: 3, //固定两列  固定行列会影响表格排版

mergeCells: true, //表示允许单元格合并

manualColumnMove: false, //列可拖动

manualRowMove: false, //行可拖动

manualColumnResize: true, //列可拖拽 调大小

manualRowResize: true, //行可拖拽 调大小

autoColumnSize: false, //当值为true且列宽未设置时,自适应列大小

columnSorting: false, // 排序

contextMenu: true, //右键菜单

copyable: true, // 允许键盘复制

renderer: function(instance, td, row, col, prop, value, cellProperties) {

// 渲染为text类型,可选的有TimeRenderer、PasswordRenderer等不同的类型

Handsontable.renderers.TextRenderer.apply(this, arguments);

// 判断条件

if (row === 0 || row === 1 || row === 2) {

td.style.backgroundColor = '#e0ecff';

// 此处可以单独渲染某行或某列 根据条件渲染 比如背景色 字体、颜色、粗细等等

}

},

dropdownMenu: true,//头部是否显示menu

contextMenu: {    //内容部分的menu 对功能汉化

items: {

'row_above': {

name: '上方插入一行'

},

'row_below': {

name: '下方插入一行'

},

"col_left": {

name: '左方插入列'

},

"col_right": {

name: '右方插入列'

},

"remove_row": {

name: '删除行',

},

"remove_col": {

name: '删除列',

},

'separator': Handsontable.plugins.ContextMenu.SEPARATOR,

'clear_custom': {

name: '清除数据',

callback: function() {

this.clear();

}

}

}

},

afterChange: function(changes, source) {     //数据改变时触发此方法 捕捉数据更改

console.log(this.getData(), '/', changes, '/', source);

},

由于项目原因,不好意思,效果图不能展示,抱歉抱歉!需要注意的是此插件的数据格式有两种,一种是数组类型的,如果数据复杂,合并单元格较多,建议使用这种数据格式。还有一种是对象类型的,多用于数据简单的,操作起来更方便。

最后再来说说这个插件都有哪些bug吧,

1、在冷冻行或列后,合并的单元格会遭到破坏

2、冷冻行或列后,查看下面的数据会有延迟(情况出现少),若右侧超出页面大小向下滑动,会出现有的滑有的不滑,即错位,体验不好

3、导出表格尽量后端做导出,前端导出会出现乱码的情况。

最后,解决一下下面水印的情况,在你安装完依赖后,node_models/handsontable/disthandsontable.full.css文件里面修改css 大概267行吧。。。

#hot-display-license-info {

display: none !important;

visibility: hidden;

font-size: 10px;

color: #323232;

padding: 5px 0 3px 0;

font-family: Helvetica, Arial, sans-serif;

text-align: left;

}

#hot-display-license-info a {

font-size: 10px;

visibility: hidden;

display: none;

}

加上display:none; visibility:hidden; 我也不知道我为什么要写两个,可能是尝试的时候一个没有生效这个大家自己下去尝试吧。今天就说这么多啦,不懂的可以留言我告诉你也可以私信我(不经常看),有用的话给个小心心吧!

Html页面上展示Excel表格 --Handsontable相关推荐

  1. 【Vue】vue2上传Excel表格到后台 实战教程(接上一篇下载Excel模板表格到本地)

    参考文章 作者原文链接入口 项目场景: 关于数据新增,需要从后台下载一个Excel表格,然后在表格里面添加数据,再上传给后台,后台做解析处理,往数据库添加数据 问题描述 需要用到elementUI的文 ...

  2. springboot上传excel表格到数据库

    1.引入相关poi依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi< ...

  3. 计算机excel怎么打开,如何在电脑上打开excel表格制作!

    [急]如何修改excel图表数轴上的数字范围 在生成图表之前,选择图表的图表,然后再系列里选择"分类(X)轴标志"然后选择你要选择的数字就OK. excel表格制作中,如何修改标题 ...

  4. HTML展示Excel表格数据(支持多sheet页、ie浏览器、xls、xlsx)

    HTML展示Excel表格数据 xlsx.js插件使用 1.引入 xlsx.js插件 2.添加div标签 3.展示div上 如果 ie 前台控制台显示不支持Slice对象,解决办法: xlsx.js插 ...

  5. php上传多张图片为什么只显示一张,javascript,_js多张图片上传 也拿到多张图片的路径 在页面上展示只显示一张?只执行了一次???,javascript - phpStudy...

    js多张图片上传 也拿到多张图片的路径 在页面上展示只显示一张?只执行了一次??? js多张图片上传 也拿到多张图片的路径 在页面上展示只显示一张?只执行了一次??? self.$els.upload ...

  6. 手机号码批量导入通讯录php,怎么从电脑上的excel表格的手机号码导入通讯录到华为手机:...

    如何将电脑中的Excel表格导入手机中 excel文件就如果图片音乐文件一样可被传送到手机中. 传送方法可以是用数据线把手机作为存储设备使用或用无线如QQ等可以传送文件的应用程序. 但手机上要想打开E ...

  7. html导出excel代码,html页面导出为excel表格(示例代码)

    简介这篇文章主要介绍了html页面导出为excel表格(示例代码)以及相关的经验技巧,文章约4421字,浏览量324,点赞数9,值得推荐! 导出考勤表格 王婷111 一见倾城333 祈澈姑娘222 P ...

  8. 计算机突然断电不丢失已保存的数据是,(电脑上的Excel表格没保存,突然断电了。请问要怎么才能找回)表格数据不见了怎么办...

    电脑上的Excel表格没保存,突然断电了.请问要怎么才能找回 找断电而未保存的Excel表格的方法及步骤: ,打Excel软件. 2.  打开左上角工具栏的"文件"选项卡. 3. ...

  9. element-ui上传excel表格,展示在微信小程序中

    文章目录 1.上传表格 2.小程序端拉取列表获取表格路径 3.测试能否打开 1.上传表格 上传成功后调用接口发给后端,后端保存在服务器中,然后返回一个文件路径 /* html <el-uploa ...

  10. 实现Excel直接在以Html的形式在页面上展示

    目前大多数Excel内容需要在页面展示时,通常需要使用控件或将excel转为html的形式在页面上进行展示,但是经常会出现达不到理想的效果.本文主要使用NPOI读取excel内容以及单元格样式,然后使 ...

最新文章

  1. 【查询】—Entity Framework实例详解
  2. 找出数组中任一重复的数字
  3. python语言的数字类型_基本数据类型数字
  4. JAVA中int、String的类型转换(亲测)
  5. Trumb/ARM 指令模式
  6. Python的继承多态
  7. mlflow_在生产中设置MLflow
  8. 【数字信号处理】复数的另一种思考之平均风向测量(Python实现)
  9. Reactor事件驱动的两种设计实现:面向对象 VS 函数式编程
  10. 新的一年到来了,我要做的第一件事是放弃……
  11. Tile-Based架构下的性能调校
  12. mysql 远程安装linux命令,Linux mysql命令安装允许远程连接的安装设置方法
  13. 环回测试能够提供什么信息_X射线无损检测能够提供BGA焊点的重要信息
  14. “21天好习惯”第一期-21
  15. linux下设置set位权限,网络安全系列之四十 在Linux中设置SET位权限
  16. VLAN 虚拟局域网 搭建
  17. XP系统 mscorsvw.exe进程 占CPU资源 开机加载网络连接很慢 解决方法
  18. 朱啸虎的“合并盈利论”,实为ofo抢道摩拜带节奏
  19. 【无标题】2021年中式烹调师(中级)试题及解析及中式烹调师(中级)复审考试
  20. 20、CSS中单位:【px和%】【em和rem】【vw|vh|vmin|vmax】的区别

热门文章

  1. 【NFC】手机手环模拟门禁卡
  2. server2016设置文件服务器,服务器2016设置文件共享
  3. android+video+自动播放源码,华为手机浏览器使用Video.js无法自动播放
  4. ios描述文件过期时间查看
  5. 人脸识别技术及其各种用例
  6. 轻运维|无人干预,易捷行云新一代私有云一键式扩容
  7. 都说学3D建模赚钱,到底学了能做什么?
  8. C语言基础(十三)系统错误信息
  9. Cesium 添加边界墙边界线
  10. 宏观调控利于粮食安全,调控与市场关系需理顺