插件地址:http://plugins.grails.org/plugin/grails/excel-import
参考地址:https://github.com/gpc/grails-excel-import
环境变量:
| Grails Version: 3.1.5 | Groovy Version: 2.4.6 | JVM Version: 1.8.0_141
在build.gradle中加入excel的依赖
compile 'org.grails.plugins:excel-import:3.0.0.RC4'
新建一个域类User
package com.lee class User { String name //姓名 Integer age //年龄 String sex //性别 String addr //籍贯 static constraints = { name nullable: false age nullable: false,range: 1..100 sex nullable: false addr nullable: false } }
创建控制器UserController
注入excelImportService
def excelImportService
附上excel截图:
创建文件导入方法
def excelImport = { InputStream inputStream = null try { //获取文件,此处可通过上传获取文件 File file = new File("d:\\用户信息.xlsx") //定义表头 Map CONFIG_BOOK_COLUMN_MAP = [ sheet:'Sheet1', startRow: 1, columnMap: [ //Col, Map-Key 'A':'name', 'B':'age', 'C':'sex', 'D':'addr' ] ] //将文件放到输入流中 inputStream = new FileInputStream(file) Workbook workbook = WorkbookFactory.create(inputStream) //解析Excel的行存入list List list = excelImportService.columns(workbook,CONFIG_BOOK_COLUMN_MAP) list.each { v-> User user = new User() user.name = v.name user.age = v.age as Integer user.sex = v.sex user.addr = v.addr println "用户信息:"+user user.save(flush:true) } render ([msg:"Excel导入成功"]) as JSON } catch (Exception e) { e.printStackTrace() render ([msg:"Excel导入失败"]) as JSON }finally{ //关闭输入流 if(!inputStream){ inputStream.close() } } }
测试:
启动项目访问:excelImport
查看用户列表:
花了1个小时,难免有些疏漏,还望见谅!
附码云地址:https://gitee.com/lj18883588608/grails_excel_import
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!