利用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 EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
Oct 06 Javascript
js 图片随机不定向浮动的实现代码
Jul 02 Javascript
jQuery UI插件自定义confirm确认框的方法
Mar 20 Javascript
js中函数声明与函数表达式
Jun 03 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
Mar 11 Javascript
AngularJs Dependency Injection(DI,依赖注入)
Sep 02 Javascript
easyui form validate总是返回false的原因及解决方法
Nov 07 Javascript
清除输入框内的空格
Dec 21 Javascript
js实现将json数组显示前台table中
Jan 10 Javascript
Vue按需加载的具体实现
Dec 02 Javascript
微信小程序中上传图片并进行压缩的实现代码
Aug 28 Javascript
详解vue的数据劫持以及操作数组的坑
Apr 18 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 MessagePack介绍
2013/10/06 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
jQuery ui 1.7更新小结
2009/08/15 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
页面内锚点定位及跳转方法总结(推荐)
2019/04/24 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
2020/04/30 jQuery
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
Python图像处理之简单画板实现方法示例
2018/08/30 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
使用css3制作动感导航条示例
2014/01/26 HTML / CSS
意大利奢侈品网站:Italist
2016/08/23 全球购物
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
大学四年职业生涯规划书范文
2014/01/02 职场文书
《老山界》教学反思
2014/04/08 职场文书
团支部推优材料
2014/05/21 职场文书
国际会计专业求职信
2014/08/04 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书