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