sheetJS实现把excel导入数据库 您所在的位置:网站首页 openmv导入库 sheetJS实现把excel导入数据库

sheetJS实现把excel导入数据库

2023-06-18 12:09| 来源: 网络整理| 查看: 265

1、问题描述

        最近在做报表导入数据库的需求,报表文件为excel里面有多个sheet。

2、解决方法 使用FileReader异步读取上传的文件。使用sheet.js进行excel表格内容的解析。使用bootstrap.js的tab组件对上传的表格进行一个页面预览的展示。

3、参考代码

        ImportReportForm.asp

$(document).ready(function (){ $("#BtnOK").click(function(){ var fileInput=$("#uploadfile") parseFile(fileInput[0].files[0]) }); function parseFile(file){ console.log(file) var rABS = FileReader.prototype.readAsArrayBuffer; var filereader=new FileReader() filereader.onload=function(){ //回调函数 var data = this.result; console.log(data); var workbook=XLSX.read(data, {type: rABS ? 'binary' : 'array',dateNF: "yyyy-mm-dd",cellDates:true,cellStyles:true}) $("#btn0").text(workbook.SheetNames[0]) $("#btn1").text(workbook.SheetNames[1]) $("#btn2").text(workbook.SheetNames[2]) $("#tab0").html(XLSX.utils.sheet_to_html(workbook.Sheets[workbook.SheetNames[0]])) $("#tab1").html(XLSX.utils.sheet_to_html(workbook.Sheets[workbook.SheetNames[1]])) $("#tab2").html(XLSX.utils.sheet_to_html(workbook.Sheets[workbook.SheetNames[2]])) $("#sheet0").val(JSON.stringify(XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]],{header:1}))); $("#sheet1").val(JSON.stringify(XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[1]],{header:1}))); $("#sheet2").val(JSON.stringify(XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[2]],{header:1}))); } if(rABS) { filereader.readAsBinaryString(file) }else{ filereader.readAsArrayBuffer(file) } } $("#btnImport").click(function () { var i=0; for(i=0;i

4、运行结果

        先选择要上传的文件

 

         点击“确定”,FileReader获取上传的文件的内容,sheetjs把FileReader获取到的文件内容渲染到页面上。

 

 

        点击“导入”按钮,使用$.parseJSON把excel每个sheet中的内容转为json数组。把这个转换好的数组传到后端进行处理就行了。

 

 5、总结

        因为只要得到了那个转换好的数组,后端再进行一个数组的解析和入库这个就很简单了,所以我就没写后端的处理代码。因为目前开发的需求许多地方要等用户回复确认,比如那个报表导入模板什么的。之前也研究了一下报表导入功能的实现并且现在正好手头空闲下来了,就忙里偷闲记录一下了。

        感觉原生js直接操作dom确实很麻烦的。

         上框架会方便不少,不过前提是你要熟悉dom。

6、参考资料

FileReader - Web API 接口参考 | MDN (mozilla.org)

 Reading Files | SheetJS Community Edition

js使用xlsx读取excel文件_茯神_fushen的博客-CSDN博客 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有