利用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操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
Sep 26 Javascript
IE与firefox下Dhtml的一些区别小结
Dec 02 Javascript
让IE6支持min-width和max-width的方法
Jun 25 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
Jan 11 Javascript
JQuery中的html()、text()、val()区别示例介绍
Sep 01 Javascript
js+css绘制颜色动态变化的圈中圈效果
Jan 27 Javascript
基于Bootstrap实现tab标签切换效果
Apr 15 Javascript
VUEJS实战之利用laypage插件实现分页(3)
Jun 13 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
webpack配置之后端渲染详解
Oct 26 Javascript
动态Axios的配置步骤详解
Jan 12 Javascript
TS 类型收窄教程示例详解
Sep 23 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
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
对pandas中apply函数的用法详解
2018/04/10 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
北京SQL新华信咨询
2016/09/30 面试题
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
vue+django实现下载文件的示例
2021/03/24 Vue.js
高中体育教学反思
2014/01/29 职场文书
班长演讲稿范文
2014/04/24 职场文书
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android
Javascript设计模式之原型模式详细
2021/10/05 Javascript
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript