⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modelmanager.java

📁 J2EE项目开发Excel数据导入导出操作组件源代码(附带说明文档)
💻 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 + -