强大的类excel插件,handsontable的简单应用

简介: 强大的类excel插件,handsontable的简单应用

handsontable是一款强大的web端类excel插件,对于需要在网页上编辑类excel数据的同学来说,简直是妙不可言!


本文实现功能

  1. 创建handsontable网页
  2. 保存前端数据到后端数据库
  3. 实现数据的加载和导出excel

这里要感谢大神“关爱单身狗成长协会”,部分代码参考了他的简书大作,地址如下:https://www.jianshu.com/p/0ad18fdd7eed


另外相关的官方文档请参考:

  • handsontable  官网:https://handsontable.com/
  • GitHub :https://github.com/handsontable/handsontable
  • js-XLSX github:https://github.com/SheetJS/js-xlsx


01.简介


先来看看效果,最终大致就是这样,丑是丑了点,样式后面慢慢调吧


下面先介绍下项目结构

这里我还是沿用了前面使用的restful API server的代码,因为在保存前端数据时用到了API接口,就不再重复写了,需要前情回顾的同学戳这里:回顾1回顾2


整体上还是一样的思路,api_1_0里面写接口逻辑,main里面写页面逻辑,templates里面放置页面模板,而models.py里定义表结构。



02.JS代码


首先需要初始化handsontable,查看官方文档可以看到,定义一个handsontable的对象,第一个参数是获取到的html元素,第二个参数是handsontable的初始数据和一些设置。


我这里依样画葫芦,代码如下


初始化一组空白的表格,并且放置在id为“hot”的div中,再写一个函数,用来展示页面,写在main的views.py中


现在我们就可以访问地址http://127.0.0.1:9980/editcase了,最后的页面如下:


这样简单的页面布局就做好啦。


03.后台逻辑


1. 定义表结构

定义数据库的表结构,我们目前只有三个字段,简单的表结构可以定义如下


然后还是通过shell命令,执行数据库的初始化操作,不再赘述。


2. API编写

API的思路,从后台拿到数据后,转换为字典格式,然后循环,依次存入数据库中,同时判断一下如果id字段存在的话,就做更新操作,保证id不会重复


3. Ajax发送数据

为handsontable编写event事件,当“save”按钮被点击时,触发函数,调用savetotest接口,提交数据。


4. 测试

前台填写数据


在后台数据库中查看,


可以看到都成功保存到数据库中了,包括空行和空字段。


04. 功能扩展


接下来增加下页面的excel导入和导出功能,这里使用了js-XLSX库,具体的实现可以自行查阅下官方文档

最终的完整代码可以到GitHub上查看

https://github.com/zhouwei713/mini_api

相关文章
|
Java BI API
Java Excel报表生成:JXLS库的高效应用
在Java应用开发中,经常需要将数据导出到Excel文件中,以便于数据的分析和共享。JXLS库是一个强大的工具,它基于Apache POI,提供了一种简单而高效的方式来生成Excel报表。本文将详细介绍JXLS库的使用方法和技巧,帮助你快速掌握Java中的Excel导出功能。
600 6
|
文字识别
分享:如何ocr识别身份证复印件并导出至excel表格 ? 图片批量识别导出excel表格应用,图片批量识别转excel表格的方法
该软件是一款OCR身份证识别工具,能批量处理图片,自动提取身份证信息并导出为Excel。支持百度网盘和腾讯云盘下载。用户界面直观,操作简单,适合新手。识别过程包括:打开图片、一键识别、导出结果。特别注意,此程序仅适用于身份证识别,不适用于其他类型的图片识别。
2159 1
分享:如何ocr识别身份证复印件并导出至excel表格 ? 图片批量识别导出excel表格应用,图片批量识别转excel表格的方法
|
数据采集 存储 Web App开发
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
一键实现数据采集和存储:Python爬虫、Pandas和Excel的应用技巧
|
存储 算法 数据可视化
Qt与Excel:从底层原理到上层应用的全面探索
Qt与Excel:从底层原理到上层应用的全面探索
1058 0
POI(excel)中ROW应用实践应用总结
POI(excel)中ROW应用实践应用总结
568 2
|
Java easyexcel 数据库连接
SpringBoot使用EasyExcel将Excel数据直接转换为类对象
SpringBoot使用EasyExcel将Excel数据直接转换为类对象
698 0
POI(excel)中表格(单元格)样式应用实践总结
POI(excel)中表格(单元格)样式应用实践总结
384 0
|
索引
POI(excel)中Cell应用实践总结
POI(excel)中Cell应用实践总结
581 0
|
8月前
|
Python
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。
|
8月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。