?? modelmanager.java
字號:
package com.javayjm.excel;
import java.io.File;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.javayjm.excel.config.ExcelConfigFactory;
import com.javayjm.excel.config.ExcelConfigManager;
import com.javayjm.excel.file.ModelToExcel;
import com.javayjm.excel.file.impl.ModelToExcelImpl;
import com.javayjm.test.model.DeptModel;
/**
* 公 司:
* 文件名:ModelManager.java
* 作 者:YJM
* 版本號:1.0
* 時 間:2007-11-14上午10:42:25
*/
public class ModelManager {
private File excelFile = null;
private OutputStream excelOutputStream = null;
private List modelList = null;
private String modelName = "";
private ModelToExcel mte = null;
private ExcelConfigManager configManager = null;
public ModelManager(String fileName, String modelName, List modelList) {
this(new File(fileName), modelName, modelList);
}
public ModelManager(File fileName, String modelName, List modelList) {
this.excelFile = fileName;
this.modelName = modelName;
this.modelList = modelList;
configManager = ExcelConfigFactory.createExcelConfigManger();
}
public ModelManager(OutputStream excelOutputStream, String modelName, List modelList) {
this.excelOutputStream = excelOutputStream;
this.modelName = modelName;
this.modelList = modelList;
configManager = ExcelConfigFactory.createExcelConfigManger();
}
public void setModelName_List(String modelName,List modelList){
this.mte = null;
this.modelName = modelName;
this.modelList = modelList;
}
public File getExcelFile(){
if(mte==null){
//mte = new ModelToExcelImpl(excelFile, configManager.getModel(modelName, ""), modelList);
if(this.excelFile!=null){
mte = new ModelToExcelImpl(excelFile, configManager.getModel(modelName, ""), modelList);
}else{
mte = new ModelToExcelImpl(this.excelOutputStream, configManager.getModel(modelName, ""), modelList);
}
}
return mte.getExcelfile();
}
public ModelToExcel getMte() {
if(mte==null){
//mte = new ModelToExcelImpl(excelFile, configManager.getModel(modelName, ""), modelList);
if(this.excelFile!=null){
mte = new ModelToExcelImpl(excelFile, configManager.getModel(modelName, ""), modelList);
}else{
mte = new ModelToExcelImpl(this.excelOutputStream, configManager.getModel(modelName, ""), modelList);
}
}
return mte;
}
public static void main(String[] args) {
List modelList = new ArrayList();
// form 測試
// for(int i=0;i<68;i++){
// DeptModel dept = new DeptModel();
// dept.setDeptName("總部");
// dept.setDeptCode("A10" + i);
// dept.setDeptNo(i);
// dept.setSendFileName("交南發(fā)");
// modelList.add(dept);
// }
//map 測試
for(int i=0;i<68;i++){
Map m = new HashMap();
m.put("deptName", "總部");
m.put("deptCode", "A10"+i);
m.put("deptNo", i);
m.put("sendFileName", "市工商發(fā)");
modelList.add(m);
}
Map map = new HashMap();
map.put("deptName", "部門名稱1");
map.put("deptCode", "部門編號1");
map.put("deptNo", "排序1");
ModelManager mm = new ModelManager("D:\\work\\workspace\\excelfile\\modeltoexcel_rowcolumn.xls","deptModel",modelList);
mm.getMte().setHeader("部門發(fā)文簡稱(2007)");
//默認按配制文件輸出,傳入的dynamicTitleMap(property,exceltitlename) 只是按javabean對應的屬性改變輸出標題
//如果 isDynamicTitle = true ,按傳入的dynamicTitleMap 給出的列輸出,只是按列顯示排序按配制文件設置。
//isDynamicTitle = true 要驗證,dynamicTitleMap size 大于0,且其中設置的屬性在javabean中存在的列必須大于0
//mm.getMte().setDynamicTitle(true);
//mm.getMte().setDynamicTitleMap(map);
// 文件導出時,支持模板導出
/*
* isTemplate = true ,按傳入的模板文件格式輸出, templateFile 模板文件, startRow 開始輸出的行數(shù),
* paramMap 模板中的參數(shù)。map.put("Name","尹景民")如模板中有一個單元格為 制表人 #Name# ,輸出時為:制表人 尹景民
*/
Map paramMap = new HashMap();
paramMap.put("Name", "尹景民");
paramMap.put("Date", "2008-1-23");
//mm.getMte().setTemplateParam("D:\\work\\workspace\\excelfile\\deptModelTemplate.xls", 3, paramMap);
mm.getMte().setTemplateParam("D:\\work\\workspace\\excelfile\\deptModelTemplate.xls", 3,2, paramMap,false);
mm.getExcelFile();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -