利用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 相关文章推荐
扩展String功能方法
Sep 22 Javascript
List Information About the Binary Files Used by an Application
Jun 11 Javascript
javascript appendChild,innerHTML,join性能比较代码
Aug 29 Javascript
浅析JavaScript中的typeof运算符
Nov 30 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
详解基于webpack和vue.js搭建开发环境
Apr 05 Javascript
微信小程序实现点击返回顶层的方法
Jul 12 Javascript
基于BootStrap实现简洁注册界面
Jul 20 Javascript
javascript计算渐变颜色的实例
Sep 22 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
Sep 22 Javascript
使用webpack和rollup打包组件库的方法
Feb 25 Javascript
JavaScript实现筛选数组
Mar 02 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
基于mysql的bbs设计(一)
2006/10/09 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
浅析PHP绘图技术
2013/07/03 PHP
php中JSON的使用与转换
2015/01/14 PHP
PHP生成器简单实例
2015/05/13 PHP
javascript 面向对象 function类
2010/05/13 Javascript
10个基于Jquery的幻灯片插件教程
2010/10/29 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
JavaScript判断变量是否为空的自定义函数分享
2015/01/31 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
jquery编写日期选择器
2017/03/16 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
React服务端渲染原理解析与实践
2021/03/04 Javascript
python获取服务器响应cookie的实例
2018/12/28 Python
Python安装whl文件过程图解
2020/02/18 Python
Jupyter notebook 启动闪退问题的解决
2020/04/13 Python
python可迭代对象去重实例
2020/05/15 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
人事档案接收函
2014/01/12 职场文书
主持人开幕词
2015/01/29 职场文书
社区服务活动报告
2015/02/05 职场文书
皇城相府导游词
2015/02/06 职场文书
文员岗位职责范本
2015/04/16 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python