1 Star 1 Fork 0

Jonny / grails_excel_import

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

grails导入Excel表格中的数据

引入依赖:

compile 'org.grails.plugins:excel-import:3.0.0.RC4'

注入serivce

def excelImportService

创建导入方法:


def excelImportService

    /**
     *  从指定行startRow开始读取,startRow从0开始算
     *  不指定lastRow,导入从指定行开始到最后一行的数据
     */
    def excelImport = {
        InputStream inputStream = null
        try {
            //获取文件,此处可通过上传获取文件
            File file = new File("c:\\file\\用户信息.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)
                println (user as JSON)
            }
            render ([msg:"Excel导入成功"]) as JSON
        } catch (Exception e) {
            e.printStackTrace()
            render ([msg:"Excel导入失败"]) as JSON
        }finally{
            //关闭输入流
            if(!inputStream){
                inputStream.close()
            }
        }
    }

    /**
     *  从指定行startRow开始读取,截止到lastRow最后行
     *  startRow的下标从0开始
     *  lastRow下标从1开始
     *  lastRow必须大于startRow(lastRow > startRow),若lastRow==-1,则导入读取指定行开始之后的所有数据
     */
    def rangeImport = {
        InputStream inputStream = null
        try {
            //获取文件,此处可通过上传获取文件
            File file = new File("c:\\file\\用户信息.xlsx")
            //定义表头
            Map CONFIG_BOOK_COLUMN_MAP = [
                    sheet:'Sheet1',
                    startRow: 1,
                    lastRow: -2,
                    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)
                println (user as JSON)
            }
            render ([msg:"Excel导入成功"]) as JSON
        } catch (Exception e) {
            e.printStackTrace()
            render ([msg:"Excel导入失败"]) as JSON
        }finally{
            //关闭输入流
            if(!inputStream){
                inputStream.close()
            }
        }
    }

空文件

简介

grails导入excel数据 展开 收起
Groovy 等 3 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Groovy
1
https://gitee.com/GntLee/grails_excel_import.git
git@gitee.com:GntLee/grails_excel_import.git
GntLee
grails_excel_import
grails_excel_import
master

搜索帮助