MrDoc的excel文件导入(Luckysheet)空白行问题问题
今天继续测试MrDoc,虽然写这个文的时候我的MrDoc的文还没整完。。
但是今天这个问题是一个比较独立的模块,就单独说吧。
文章目录
- 问题:导入缓慢
- 省流:修改Luckysheet的初始化参数
- 寻找:MrDoc使用的表格技术
- 破案:初始化参数搞的鬼
- 缓慢的具体原因
问题:导入缓慢
我导入一个我的excel文件至系统的时候速度非常慢。
一开始我以为是建立索引很慢,看后台日志,这个索引的时间是0点几秒就完成了。
后来发现,应该是在上传数据的时候太慢了。
一个800K的文件上传后竟然变成了5.1兆,怎么想都觉得奇怪。
省流:修改Luckysheet的初始化参数
找到create_doc里面luckysheet.create的地方。
添加两个参数:
PS:照理来说这两个参数应该按照表格的大小来设置,但我发现,当你的数据表行列数比你设定的大的时候,他会自动增加格子。也就是说,其实这个参数应该叫minRow
和minColumn
应该会贴切一些。如果你想要设定一个最小的范围,就设定为row: 1,column: 1,
就行了,但是那样很小的表格会比较难看,建议还是可以设定一个最小值。
如果你有兴趣看看我是怎么找到的,可以往下看看,可能可以对你学习MrDoc的源码会有一些小帮助。阅读时间预计5分钟。
寻找:MrDoc使用的表格技术
找到代码中的导入按钮,发现他的id是import-excel
在整个目录搜索,
使用这个id的整个目录和自由两个地方,很快锁定到了文件加载的地方。
代码中出现了两个关键词,这两个关键词正好在static的目录底下有看到:
由此,我们知道了MrDoc使用了两个库来完成在线表格的导入:
1.Luckysheet
2.Luckyexcel
通过简单的搜索得知:
Luckysheet是非常强大的表格在线编辑库,Luckyexcel是大佬开发的配套库,用于excel的导入工作。
仔细看上传的负载里面有很多的null,同时,每次导入文件后,表格的长度都变成了莫名其妙的84行,固定是84行。
我一开始以为问题出现在Luckyexcel里面,是不是这个库识别的数据范围不对导致把空行都读了进来呢?
咱们跟到具体代码位置发现,这个函数就是做了一个读数,然后调用回调的工作,具体他是如何读取的,咱们不管,咱们直接在回调的地方打断点。
可以明显看到,返回的时候,数据只有三个格子。
和我的测试文件是吻合的。
回调出来的地方也和上面的输出吻合。证明问题不是出在Luckyexcel,而是Luckysheet这个库。
破案:初始化参数搞的鬼
将断点往下打一些,打到create下方,发现,create结束后出现了一个新的属性data
而且正好是一个84的数列,那应该是在create的时候做了什么,导致这个data变成了84。
在github的Luckysheet项目中中搜索了一下84
,其中有一个参数,一看就有问题了:
名字如此吻合,应该就是这个的问题了。
寻找Luckysheet的文档,
初始化的参数里面有这么两个参数,那应该只要修改这两个参数就行了。
加上这两个参数后,刚刚5M的文件被压缩了一半,虽然还是很大,但是是因为这个表格中设置的表格样式确实比较复杂,能减少近一半已经不错了。
缓慢的具体原因
本地存储就算文件大道5M应该也不至于时间这么长,查看问题应该出现在sqlite的写入,后续继续解决。
MrDoc的excel文件导入(Luckysheet)空白行问题问题相关推荐
- excel 导入mysql_如何将Excel文件导入MySQL数据库
本文实例为大家分享了Excel文件导入MySQL数据库的方法,供大家参考,具体内容如下 1.简介 本博客给大家分享一个实用的小技能,我们在使用数据库时常常需要将所需的Excel数据添加进去,如果按照传 ...
- 将txt文件和excel文件导入SQL2000数据库
将txt文件和excel文件导入SQL2000数据库 在做一些web数据库管理系统的时候经常要实现将帐户批量注册的功能,今天就来讲讲如何在C#-web项目中将txt文件和excel文件导入SQL200 ...
- MVC3学习:将excel文件导入到sql server数据库
思路: 1.将excel文件导入到服务器中. 2.读取excel文件,转换成dataset. 3.循环将dataset数据插入到数据库中. 本例子使用的表格为一个友情链接表F_Link(LinkId, ...
- excel数据库_将excel文件导入mysql数据库教程(PHP实现)
点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网 源 / www.php.cn 在这篇文章中,我将给大家介绍如何使用PHP将excel文件导入mysql数据库.有时候我们需 ...
- 利用js-xlsx.js插件实现Excel文件导入并解析Excel数据成json数据格式
<!--本文转载于网络,有太多一样的文章,不知道原作者是哪位了,就不注明出处了.这里记载下来,用于自己的学习借鉴--><!DOCTYPE html><html lang= ...
- php上传查询excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例
PHP上传Excel文件导入数据到MySQL数据库示例2020-06-20 00:34:11 最近在做Excel文件导入数据到数据库.网站如果想支持批量插入数据,可以制作一个上传Excel文件,导入里 ...
- php将excel导入mysql,PHP实现将EXCEL文件导入到MYSQL
最近因项目需求,要实现将excel文件通过php页面导入mysql数据库中.在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入.这里介绍一个直接将excel文件 ...
- php 上传excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例
最近在做Excel文件导入数据到数据库.网站如果想支持批量插入数据,可以制作一个上传Excel文件,导入里面的数据内容到MySQL数据库的小程序. 要用到的工具: ThinkPHP:轻量级国产PHP开 ...
- php导入qq数据txt代码,/谁有能都实现将excel文件导入到数据中,并在php网页上显示的源码啊,有的发送1091932879@qq.com,谢谢!...
PHP网页怎么导入Excel的数据 参码如下: // 1.引用ExcelReader类文 require_once 'Excel/reader.php'; // 2.实例化读取Excel类 $data ...
最新文章
- 【Java面试题】54 去掉一个Vector集合中重复的元素
- idea中 maven打包时时报错User setting file does not exist C:\Users\lenevo\.m2\setting.xml,
- 一次关于DNS服务器的故障排错记录——RNDC故障
- EOS (3)系统特点
- Lucene进阶操作,单字段、多字段和布尔搜索
- 【2019icpc南京站网络赛 - H】Holy Grail(最短路,spfa判负环)
- 如何查看自己运行ubuntu是32位还是64位
- (转)Arcgis for JS之Cluster聚类分析的实现
- 新氧科技成为互联网医疗美容第一股 首日股价疯狂上涨32%
- c语言迷宫求解毕业设计,毕业设计(论文)-基于Windows平台C语言实现迷宫游戏的设计.doc...
- 自定义键盘组件_WEB组件终极开发手册:让玩家没了鼠标也能操作
- 服务器端提交form
- 技术实操|Apache Spark 内存管理详解(上篇)
- 2834: 小凯的书架
- 【BSP视频教程】STM32H7视频教程第3期:整体捋顺STM32H7的HAL库和LL库的框架,再配合寄存器造轮子找到更适合自己的玩法(2022-01-21)
- 小红书用户画像分析_用户画像分析会成为第一品牌竞争力吗?
- 钉钉邮箱登录入口_阿里企业邮箱发信失败 报错:554reject by content_「阿里云企业邮箱_阿里企业邮箱」指定经销商热线:400-855...
- 笔记-最优控制理论1
- mysql删除列前判断_MySQL中,删除列的SQL语句是( )
- Python实现发送邮件(实现单发/群发邮件验证码)
热门文章
- Ubuntu16.04下搭建Eclipse C++开发环境
- SCORM标准课件中SCO的制作方法
- 电脑如何正确卸载软件?
- React + nodemailer + koa-jwt 实现登录注册邮箱验证
- CC云点播 接口示例
- android 翻牌动画,Android实现寻觅红桃A的翻牌游戏
- GridView中CommandArgument如何传多个参数
- ORACLE授权/同义词/序列语句
- [Flask_sqlalchemy] KeyError: 检索时对ChoiceType的类型限制
- 2022低压电工考试模拟100题模拟考试平台操作