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

          Grails _ export 插件使用

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

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

           使用方法:

          頁面中加入下面代碼:

           <export:resource />

           <export:formats /> 

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

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

          <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 閱讀(1241) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 昭通市| 临沭县| 武隆县| 宣恩县| 庄浪县| 抚顺市| 林州市| 都昌县| 郴州市| 普定县| 玉林市| 天峨县| 周至县| 龙门县| 海南省| 都江堰市| 德庆县| 外汇| 涟源市| 泰顺县| 奇台县| 平顶山市| 沈阳市| 青河县| 交城县| 蓝山县| 楚雄市| 西畴县| 开化县| 筠连县| 墨江| 东城区| 沙河市| 同仁县| 兰坪| 青河县| 龙川县| 宜春市| 德化县| 正镶白旗| 万全县|