利用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 相关文章推荐
JAVASCRIPT对象及属性
Feb 13 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
Apr 11 Javascript
JavaScript动态修改网页元素内容的方法
Mar 21 Javascript
javascript从定义到执行 你不知道的那些事
Jan 04 Javascript
详谈javascript异步编程
Feb 21 Javascript
js添加千分位的实现代码(超简单)
Aug 01 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
Oct 10 Javascript
JavaScript实现经典排序算法之选择排序
Dec 28 Javascript
如何理解jQuery中的ajaxSubmit方法
Mar 13 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
Jul 12 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
Oct 25 Javascript
Vue中引入svg图标的两种方式
Jan 14 Vue.js
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中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
PHP 转义使用详解
2013/07/15 PHP
浅析php变量作用域的一些问题
2013/08/08 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
基于jquery的时间段实现代码
2012/08/02 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
Three.js基础部分学习
2017/01/08 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
Python学生成绩管理系统简洁版
2020/04/05 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
python实现手势识别的示例(入门)
2020/04/15 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
电气自动化自荐信
2013/10/10 职场文书
女大学生个人求职信
2013/12/09 职场文书
初中校园广播稿
2014/02/02 职场文书
2014年社区庆元旦活动方案
2014/03/08 职场文书
小班教师个人总结
2015/02/05 职场文书
员工离职通知函
2015/04/25 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js
Python面向对象之内置函数相关知识总结
2021/06/24 Python