sheetJS实现把excel导入数据库

1、问题描述

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

2、解决方法

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

3、参考代码

        ImportReportForm.asp

<%Response.Charset="GB2312"%>






上传文件:



ImportReport.asp

<%
Response.Charset="GB2312"
sSheetName = unescape(Request("SheetName"))
sContent = unescape(Request("Content"))
Response.write "sSheetName="&sSheetName&"
" Response.write "sContent="&sContent&"
" %>

4、运行结果

        先选择要上传的文件

sheetJS实现把excel导入数据库_第1张图片

 

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

sheetJS实现把excel导入数据库_第2张图片

 sheetJS实现把excel导入数据库_第3张图片

 

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

sheetJS实现把excel导入数据库_第4张图片

 

 5、总结

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

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

sheetJS实现把excel导入数据库_第5张图片

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

6、参考资料

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

 Reading Files | SheetJS Community Edition

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

你可能感兴趣的:(工作,excel,sheet.js,FileReader,asp,vbscript)