本文所用项目为Springboot项目,基本依赖数据库配置不过多赘述!
1.后台服务端 1.1技术介绍jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的 *** 作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以 *** 作Excel,两者相比之下:Jxl使用方便,但功能相对POI比较弱,很多时候,一个软件应用程序需要生成Microsoft Excel文件格式的报告。有时,一个应用程序甚至希望将Excel文件作为输入数据。例如,一个公司开发的应用程序将财务部门需要所有输出生成自己的Excel。
1.2 所需依赖1.3 测试代码net.sourceforge.jexcelapi jxl2.6.12 jexcelapi jxl2.4.2
@RequestMapping(value="/upload") @ResponseBody public String upload_excel(@RequestParam("file") MultipartFile file, HttpServletResponse response,HttpServletRequest request)throws Exception { File toFile = null; if (file.equals("") || file.getSize() <= 0) { file = null; } else { //需要将前端的MultipartFile 转为file,用到下面的方法, InputStream ins = null; ins = file.getInputStream(); toFile = new File(file.getOriginalFilename()); //工具方法在最下方 inputStreamToFile(ins, toFile); ins.close(); } //这种方法会在本地产生临时文件,用完后需要删除 if (toFile.exists()) { toFile.delete(); System.out.println(1111111111); int i; Sheet sheet; Workbook book; List2. 前端代码 2.1 js包
只需要这两个js文件
2.2 方法
添加标签
调用方法
function uploadFile123(file){ alert("请把文件夹放到D盘根目录下,打开另存为xls格式,否则会上传失败") // var index = layer.msg('正在上传,请稍候',{icon: 16,time:false,shade:0.8}); $.ajaxFileUpload({ url : httpurl+'/payroll/upload' , secureuri : false, //一般设置为false fileElementId : 'file', //文件上传空间的id属性 type : 'post', dataType : 'text', //返回值类型 一般设置为 success : function(result) //服务器成功响应处理函数 { alert(result) }, error : function(result)//服务器响应失败处理函数 { } } ); return false; }3. 运行结果 3.1文件截图 3.2 数据集合
- 方便插入数据库,我把表头提取首字母了。(代码有备注,如果业务逻辑需要,自己添加代码就行了)
[{sds=103.49, lsxbt=0, zfbt=1757, kylbx=507.355, zwgz=1250, gwjt=655, bksds=0, dwfdzynj=285.4, syshbt=585, dky=0, cgbt=0, bfgz=0, zfgjj=1761, kyanglbx=856.2, baseSALARY=563, REALWAGES=3550.925, kghf=77.595, dwfdsybxj=19.4, jtbt=250, NAME=arices, kfhj=3772.535, WAGESPAYABLE=5060, ybhj=7323.46, qtkk=0, dwfdghf=77.595, dwfdylbx=429.765, dwfdyanglbx=570.8, dwfdgjj=880.5, kzynj=428.1, ksybx=38.795, dke=0}, {sds=2, lsxbt=2, zfbt=2, kylbx=2, zwgz=2, gwjt=2, bksds=1, dwfdzynj=2, syshbt=2, dky=2, cgbt=2, bfgz=2, zfgjj=2, kyanglbx=2, baseSALARY=2, REALWAGES=2, kghf=2, dwfdsybxj=2, jtbt=2, NAME=21213, kfhj=2, WAGESPAYABLE=2, ybhj=2, qtkk=1, dwfdghf=2, dwfdylbx=2, dwfdyanglbx=2, dwfdgjj=2, kzynj=2, ksybx=1, dke=2}]
插入数据库代码就不写了,喜欢的请点个赞,如有问题私聊作者,作者会尽快恢复的!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)