📄 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("交南发");
// 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", "市工商发");
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("部门发文简称(2007)");
mm.getMte().setRowHeight(500);
//默认按配制文件输出,传入的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 开始输出的行数,
* paramMap 模板中的参数。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 + -