隨筆-112  評論-73  文章-0  trackbacks-0

          Grails _ export 插件使用

           Export 插件可以將domainClass在數(shù)據(jù)庫中的內容導出到excel 、pdf txt 等格式的文件,操作方便簡單.

           使用命令grails install-plugins export 安裝。

           使用方法:

          頁面中加入下面代碼:

           <export:resource />

           <export:formats /> 

          <export:formats formats="['csv', 'excel', 'ods', 'pdf', 'rtf', 'xml']" />

          如果想按條件查詢結果集導出數(shù)據(jù)則需要加入params參數(shù)

          <export:formats formats="['excel', 'rtf']" params="${filterParams?filterParams:params}"/>

           

          Controller 中加入下面代碼:

           

          import org.codehaus.groovy.grails.commons.ConfigurationHolder

          // Export service provided by Export plugin     

              def exportService

              def list = {

                  if(!params.max) params.max = 10

                      if(params?.format && params.format != "html"){

                            response.contentType = ConfigurationHolder.config.grails.mime.types[params.format]              response.setHeader("Content-disposition", "attachment; filename=books.${params.extension}")

          exportService.export(params.format, response.outputStream,Book.list(params), [:], [:])

                      }

                  [ bookInstanceList: Book.list( params ) ]

              }


          自定義導出字段與顯示字段名

          params.max = Math.min(params.max ? params.int('max') : 10, 100)

                     results =AddressList.list(params);

                     if(params?.format && params.format != "html"){

                        response.contentType = ConfigurationHolder.config.grails.mime.types[params.format];

                        response.setHeader("Content-disposition", "attachment; filename=books.${params.extension}")

                        List fields = ["name","coName","mTel","officeTel","address","qq","msn","email","province","city"];

                        Map labels = ["name": "姓名","coName":"單位名稱","mTel":"移動電話","officeTel":"辦公電話","address":"通訊地址","qq":"QQ","msn":"MSN","email":"Email","province":"省份","city":"城市"]

                        exportService.export(params.format, response.outputStream,results, fields,labels,[:], [:])

                     }

                     [addressListInstanceList: results, addressListInstanceTotal: AddressList.count()]

           

          其中 fields 是需要導出的字段名 labels 是需要顯示的列名。


          posted on 2010-03-12 17:06 Libo 閱讀(1245) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 德化县| 广平县| 白河县| 库尔勒市| 拉孜县| 哈密市| 华池县| 新昌县| 平舆县| 资兴市| 汶川县| 房山区| 桂东县| 曲阳县| 神农架林区| 台江县| 常德市| 祁门县| 黄山市| 光泽县| 牟定县| 保靖县| 兴隆县| 孟州市| 抚宁县| 武乡县| 金川县| 贵定县| 台山市| 呼玛县| 沾益县| 视频| 县级市| 太仓市| 平原县| 甘孜| 香河县| 赤壁市| 昂仁县| 卓尼县| 宝丰县|