利用JavaScript将Excel转换为JSON示例代码


Posted in Javascript onJune 14, 2019

前言

JSON是码农们常用的数据格式,轻且方便,而直接手敲JSON却是比较麻烦和令人心情崩溃的(因为重复的东西很多),所以很多码农可能会和我一样,选择用Excel去输入数据,然后再想办法转换成JSON格式。今天教大家使用JS 将 Excel 转为 JSON的方法。

1.新建HTML文件

<html lang="en"> 
<title> Convert Excel File To JSON </title>
<head>
 <script>
 </script>
</head>
<body>
</body>

我们可以使用<input>标签接收上传文件。代码如下:

<input type="file" id="fileUploader" name="fileUploader" accept=".xls, .xlsx"/>

2.监听input change 事件

<script>
 $(document).ready(function(){
  $("#fileUploader").change(function(evt){
   // 上传文件处理逻辑...
  });
 });
</script>

3.读取上传文件

在这里,我们假设用户只上传一个文件。

var selectedFile = evt.target.files[0];

接下来,我们将使用FileReader读取该文件数据。从这个FileReader,我们可以读取excel文件中的数据作为二进制字符串。然后我们使用XLSX,它是SheetJS js-xlsx的内置工具,将我们的二进制字符串转换为JSON对象。引入 XLSX

<script lang =“javascript”src =“dist/xlsx.full.min.js”> </ script>

您可以下载源码xlsx.full.min.js

完整代码

<html lang="en"> 

<title> Convert Excel File To JSON </title>

<head>
 <script src="js/jquery.js"> </script>
 <script lang="javascript" src="js/xlsx.full.min.js"></script>
 <script>
  $(document).ready(function(){
   $("#fileUploader").change(function(evt){
     var selectedFile = evt.target.files[0];
     var reader = new FileReader();
     reader.onload = function(event) {
      var data = event.target.result;
      var workbook = XLSX.read(data, {
       type: 'binary'
      });
      workbook.SheetNames.forEach(function(sheetName) {
       var XL_row_object = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
       if (XL_row_object.length > 0) {
        document.getElementById("jsonObject").innerHTML = JSON.stringify(XL_row_object);
       }
       
      })
     };
     reader.onerror = function(event) {
     console.error("File could not be read! Code " + event.target.error.code);
    };
    // 读取上传文件为二进制
    reader.readAsBinaryString(selectedFile);
   });
  });
 </script>
</head>
<body>
 <input type="file" id="fileUploader" name="fileUploader" accept=".xls, .xlsx"/>
 </br></br>
 JSON : <label id="jsonObject"> </label>
</body>

作为示例,我们使用如下的excel表格。

利用JavaScript将Excel转换为JSON示例代码

读出json数据如下

利用JavaScript将Excel转换为JSON示例代码

大功告成!!!

SheetJS 还有很多实用的功能,具体更多功能请自行去github查看githu地址

演示源码地址code

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jquery中each方法示例和常用选择器
Jul 08 Javascript
一个字符串反转函数可实现字符串倒序
Sep 15 Javascript
使用jQuery在对象中缓存选择器的简单方法
Jun 30 Javascript
浅谈JavaScript变量的自动转换和语句
Jun 12 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
Sep 05 Javascript
JS实现iframe自适应高度的方法示例
Jan 07 Javascript
Vuex和前端缓存的整合策略详解
May 09 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
angularjs实现时间轴效果的示例代码
Nov 29 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
May 22 Javascript
通过vue写一个瀑布流插件代码实例
Sep 07 Javascript
layui异步加载table表中某一列数据的例子
Sep 16 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
Jun 14 #Javascript
Vue动态创建注册component的实例代码
Jun 14 #Javascript
基于Proxy的小程序状态管理实现
Jun 14 #Javascript
深度了解vue.js中hooks的相关知识
Jun 14 #Javascript
Vue 实现前进刷新后退不刷新的效果
Jun 14 #Javascript
在Vue中使用icon 字体图标的方法
Jun 14 #Javascript
移动端底部导航固定配合vue-router实现组件切换功能
Jun 13 #Javascript
You might like
用PHP实现ODBC数据分页显示一例
2006/10/09 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
JavaScript 原型与继承说明
2010/06/09 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
纯js模仿windows系统日历
2017/02/04 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
基于python中theano库的线性回归
2018/08/31 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
大学毕业生通用自我评价
2014/01/05 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
经贸日语专业自荐信
2014/09/02 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
保护地球的宣传语
2015/07/13 职场文书