bdf2-export依賴信息
<dependency>
<groupId>com.bstek.bdf2</groupId>
<artifactId>bdf2-export</artifactId>
<version>2.0.0</version>
</dependency>
屬性名 | 類型 | 默認值 | 描述 |
template | String | 空 | 導出數(shù)據(jù)模板DataGrid或者AutoForm的控件id,如果有多個值那么逗號分隔,例如 autoForm1,dataGrid1 |
interceptorName | String | 空 | 服務端數(shù)據(jù)攔截器名稱 |
rowSpace | int | 1 | 報表間距,template屬性指定多個控件id時有效 |
autoDownload | boolean | true | 是否自動下載 |
showTitle | boolean | false | 是否顯示標題 |
titleName | String | 空 | 標題的名稱 |
titleBgColor | String | #FFFFFF | 標題背景色 |
titleFontColor | String | #000000 | 標題顏色 |
titleFontSize | int | 18 | 標題字體大小 |
showPageNumber | boolean | true | 是否顯示頁號,導出pdf格式時有效 |
headerBgColor | String | #D8D8D8 | 表頭背景色 |
headerFontColor | String | #000000 | 表頭顏色 |
headerFontSize | int | 10 | 表頭字體大小 |
dataBgColor | String | #FFFFFF | 數(shù)據(jù)背景色 |
dataFontColor | String | #000000 | 數(shù)據(jù)顏色 |
dataFontSize | int | 10 | 數(shù)據(jù)字體大小 |
dataScope | String | currentPage | 數(shù)據(jù)范圍,可選值currentPage、serverAll |
maxSize | int | 1000 | 導出數(shù)據(jù)最大記錄數(shù) |
fileName | String | 空 | 導出報表文件名稱 |
extension | String | xls | 導出報表類型,可選值xls、xlsx、pdf,如果導出的excel數(shù)據(jù)量比較大,建議配置成xlsx格式 |
事件名稱 | 事件描述 |
onGetExportData(self,arg) | 客戶端獲取導出的數(shù)據(jù)時觸發(fā), arg.id 導出模板控件id arg.data 導出的數(shù)據(jù) |
在線預覽打印用到bdf2-swfviewe模塊,相關(guān)配置可參考16.BDF2-SWFVIEWER
var action=view.get("#export2ReportAction1");
var dialog=view.get("#dialogSwfViewer");
//在服務端生成文件
action.set("autoDownload",false);
//文件類型為pdf
action.set("extension","pdf");
action.execute(function(result){
dialog.show();
var swfViewer=view.get("#swfViewerTest");
//result包含文件id和name信息
swfViewer.set("parameter",result);
//export.pdf2swf 為內(nèi)置的處理器
swfViewer.set("handlerName","export.pdf2swf");
swfViewer.refreshSwf();
});
var grid=view.id(arg.id);
if(grid instanceof dorado.widget.DataGrid){
//獲取表格中勾選的數(shù)據(jù)
arg.data=grid.get("selection");
}
package com.test;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Component;
import com.bstek.bdf2.export.interceptor.IDataInterceptor;
@Component
public class UserReportDataInterceptor implements IDataInterceptor {
public String getName() {
return "userReportDataInterceptor";
}
public String getDesc() {
return "服務端表格數(shù)據(jù)攔截自定義演示";
}
public void interceptGridData(List<Map<String, Object>> list)
throws Exception {
for (Map<String, Object> user : list) {
if (user.get("administrator") != null) {
user.put("administrator",((Boolean) user.get("administrator")) == true ? "是": "否");
}
if (user.get("enabled") != null) {
user.put("enabled",((Boolean) user.get("enabled")) == true ? "是" : "否");
}
}
Map<String, Object> insertUser=new HashMap<String, Object>();
insertUser.put("username", "user4");
insertUser.put("cname", "user4");
insertUser.put("ename", "user4");
list.add(insertUser);
}
public void interceptAutoFormData(List<Map<String, Object>> list)
throws Exception {
}
}
更多建議: