利用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 相关文章推荐
slice函数的用法 之不错的应用
Dec 29 Javascript
JavaScript 学习笔记(九)call和apply方法
Jan 11 Javascript
BOM与DOM的区别分析
Oct 26 Javascript
Javascript闭包用法实例分析
Jan 23 Javascript
详解AngularJS中的表格使用
Jun 16 Javascript
javascript拖拽效果延伸学习
Apr 04 Javascript
预防网页挂马的方法总结
Nov 03 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
Dec 05 Javascript
bootstrap suggest搜索建议插件使用详解
Mar 25 Javascript
浅谈Angular HttpClient简单入门
May 04 Javascript
详解.vue文件中style标签的几个标识符
Jul 17 Javascript
uniapp微信小程序实现一个页面多个倒计时
Nov 01 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目录管理函数小结
2008/09/10 PHP
PHP优于Node.js的五大理由分享
2012/09/15 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
Z-Blog中用到的js代码
2007/03/15 Javascript
不懂JavaScript应该怎样学
2008/04/16 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
vue如何实现动态加载脚本
2020/02/05 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
Python实现的根据文件名查找数据文件功能示例
2018/05/02 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
python实现简单多人聊天室
2018/12/11 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
周年庆典邀请函范文
2014/01/23 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
党员民主生活会材料
2014/12/15 职场文书
六一儿童节开幕词
2015/01/29 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript