Vue插件列表
1.数据导出插件vue-json-excel
使用数据导出插件vue-json-excel,
1 | <download-excel |
时间格式不正确
当我使用插件,将json数据导出之后,打开导出的excel之后,看到时间格式,只能显示 分钟:秒:毫秒,点击单元格之后,才能显示具体的时间 “YYYY-MM-DD HH:mm”。
解决办法就是自定义fields返回的内容,在返回之前进行时间的格式化。
1 | // 导出的表格的字段配置 |
虽然不能像”2021-01-05 16:13”这样的标准化,但是也可以显示时间了。
其实换句话说,只要时返回的是一个字符串,那么Excel就可以不用将单元格的内容视为时间格式,所以就可以安定义的字符串进行显示,可以在时间的前面添加一个字符串,比如
1.笔记7:vue-json-excel在vue中做导出功能 (这里把日期写死了)
2.XCEL日期格式转为文本格式且不变动原内容
3.导出Excel单元格时间显示有问题 (这里也有人遇到了同样的问题)
数字变成了科学计数法
这里就是要修改源码,很多的文章都是引自同一篇文章,就是下面的参考文章的解决方案,我不知道哪个才是出处,在我实验的过程中,我又点不一样。我刚开始修改了源码:JsonExcel.vue中的内容,结果导出之后还是科学计数法,然后我又修改了源码目录下 dist\vue-json-excel.cjs 文件中的td标签,还是不起作用,我甚至在两个文件的相关部分进行了console输出,但是连输出都没有输出
结果我把dist文件删除了,可以看到控制台报错了,说找不到文件,所以这个时候,就知道应该改哪一个源码了。
【解决】
修改源码目录 dist\vue-json-excel.esm.js文件,大约在338行,修改后,重新编译就好了。
1 | data.map(function (item, index) { |
注意
为了保持源码的整洁或是在其他的机器上编译时,不需要重新编写源码,可以将源码中的 vue-json-excel.esm.js 中的内容复制一份到项目目录下,所有的修改都在这个文件中修改,引用插件的时候,也是引用这个文件,而不是 “vue”
1 | // 导出excel组件 |
1.解决vue-json-excel导出表格,数字字符串转为科学计数法的问题_weixin_30475039的博客-程序员宅基地 修改vue-json-excel源码,在td标签里添加 style=”mso-number-format:’@‘;” 就可以解决
2.解决vue-json-excel导出表格,数字字符串转为科学计数法的问题
3.json-excel导出表格,数字字符串转为科学计数法的问题
3.xlsx使用
我安装了xlsx和file-saver还有sscript-loader,借助了 Export2Excel.js 这个文件,进行了excel文件的导出
1 | npm install --save xlsx file-saver |
这里有个问题,就是数据量大的时候,Export2Excel就会使浏览器卡死。
【解决方法】
先借助于formatJson函数,将对象数组转化为相应的只有数据的数组,然后再导出
1 | // 将json数据转为数组 |
1.Element-ui组件库Table表格导出Excel表格_gs981600308的博客-程序员宝宝_element表格导出excel 使用了xlsx插件和file-saver,很多的文章都是和这个类似的,比如下面的参考文章2和3
2.vue3.0导出数据为excel且设置样式
3.Vue3.0 导出Excel
4.Excel 导出 这是vue-admin 使用的excel导出插件,自己在js-excel的基础上,又封装了一层,好用
5. SheetJS /sheetjs js-xlsx插件的仓库
6.vue+element将数据导出成excel表格 这里也有提到过:如果不做这一步的话,会导致list为空,而且这里会去检索require对象,甚至会使当前浏览器卡死,我的机器是工作站,但是从cpu任然飙到了80%多。
问题
(1) 无法安装xlxs
安装xlxs的时候,出现了无法安装的问题。An unexpected error occurred: “https://registry.yarnpkg.com/xlsx/-/xlsx-0.17.3.tgz: incorrect data check”. 无法进行下载了。
如果使用npm进行安装的话,会提示:No matching version found for @vue/cli-plugin-babel@~5.0.0.
我以为是我的@vue/cli没有装,于是我使用全局的安装命令安装这个
1 | npm install -g @vue/cli |
结果这个也装不上,报错:An unexpected error occurred: “https://registry.yarnpkg.com/@vue/cli-ui/-/cli-ui-4.5.14.tgz: incorrect data check”。我的node版本是v16.0.0 ,npm v7.10.0。
【解决方法】
后来我升级了node版本,由v16.0.0升级到了v17.0.0,也不行。最后我重新安装了node v14.18.1 长期支持版本,重新安装了vue/cli,重新构建了vue3.0的项目,最后终于可以安装xlsx了。
1.npm install xlsx 前端导出Excel
2.解决npm安装错误:No matching version found for @babel/parser^@7.7.4
3. Cannot find @vue/cli-plugin-babel@^3.1.1 #2879 这里有说要 npm install -g 的。
4.Can not install vue-cli, no matching version found
try npm update -g @vue/cli
2.codemirror编辑插件
使用vue-codemirror不好使,还是codemirror使用记录,这个好使。
1 | npm install codemirror |
3.vue-codemirror
1 | ## 安装 |
1 | import { codemirror } from 'vue-codemirror' |
1.vue页面使用CodeMirror,渲染json,xml格式
2.vue json 编辑组件_内置为Vue组件的Visual JSON编辑器
3.vue-json-edit (vue-json-editor的npm插件页面)
4.CodeMirror (CodeMirror官网)
5.surmon-china/vue-codemirror (vue版本的codemirror实现,star还挺多,到了1900)
6.CodeMirror—实现关键词高亮
7.使用CodeMirror插件遇到的问题 (调用refresh()刷新编辑器,可以解决模态框无法显示代码的问题,还有其他的几个问题,就是批量构造示例获取引用,粘贴复制问题等)
8.vue利用CodeMirrorr+json-lint实现可编辑可自动格式化的Json-Editor组件
代码格式化
1 | let name=tab.name; |
1.教你轻松搞懂vue-codemirror的基本用法:主要实现代码编辑、验证提示、代码格式化 (这里有代码格式化问题,借助于jsonlint可以实现json的检查)
2.vue利用CodeMirrorr+json-lint实现可编辑可自动格式化的Json-Editor组件 (这里用了一个Json-Editor的插件)
3.Linter Demo (这是格式化显示的官方例子,相应的源码在lint中)
代码错误提示
进行代码格式化需要借助于插件jsonlint
1 | npm install jsonlint --save //npm 安装组件 |
但是我安装了jsonlint之后,总是提示模块不存在
于是我又安装了一个两个插件file system。安装完成之后,虽然不再提示报错了,但是还是没有错误提示
1 | npm install file system --save //npm 安装组件 |
经过多次尝试,最后使用vue-codemirror就是实现不了错误代码提示,所以就根据 codemirror使用记录 文章,进行了修改。直接封装了一个JsonEditor组件,没有使用vue-codemirror,我也是使用了这个实现了json格式化的提示。
1.codeMirror配置 (这里有很多的配置项的说明)
2.lint is not triggered on change (这里讨论为什么代码改变的时候,不能进行错误提示)
3.Dose this support Jsonlint? (这里说json-lint.js依赖 jsonlint,但是不能直接在webpack环境中使用他。但是我拷贝了jslint.js文件,然后删除了最后几行,导入项目中,还是不能出现错误提示)
4.Vue 基于vue-codemirror实现的代码编辑器 (这里直接是使用vue-codemirror实现了一个完整的代码编辑框,贴出来了主要的代码和内容)
5.Javascript codemirror 高级应用 (这有点高级了,直接写了一个编辑器)
6.【vue】项目启动报 Failed to resolve loader: script-loader You may need to install it. 问题解决