隨筆-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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 定州市| 满洲里市| 萨迦县| 比如县| 凤台县| 南涧| 盘锦市| 潍坊市| 霍山县| 扶沟县| 黑山县| 天祝| 惠东县| 大田县| 游戏| 仁寿县| 杭州市| 金塔县| 汝州市| 洛南县| 和龙市| 双柏县| 怀安县| 宜春市| 仁怀市| 汪清县| 星子县| 聂荣县| 周至县| 出国| 石城县| 宁南县| 简阳市| 夹江县| 年辖:市辖区| 平泉县| 麻江县| 桂阳县| 桂东县| 新昌县| 连城县|