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

📄 typeutils.java

📁 JAVA EXCEL操作API
💻 JAVA
字号:
/*
 * Created on 2004-3-22
 *
 * To change the template for this generated file go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
package com.zosatapo.xls.util;

import java.util.HashMap;
import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFCell;

import com.zosatapo.xls.core.Type;

/**
 * @author Administrator
 *
 * To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
public class TypeUtils
{
  //  Column to JAVA and EXCEL
  private static final Map colWrappers=new HashMap();
  
  // JAVA to Column
  private static final Map java2Columns=new HashMap();

  // Excel to Column
  private static final Map xls2Columns=new HashMap();

  private static synchronized void populateWrappers()
  {
    colWrappers.put(Type.VARCHAR.tag(),new ColumnTypeMapper(Type.VARCHAR,java.lang.String.class,HSSFCell.CELL_TYPE_STRING));
    colWrappers.put(Type.INTEGER.tag(),new ColumnTypeMapper(Type.INTEGER,java.lang.String.class,HSSFCell.CELL_TYPE_NUMERIC));
    colWrappers.put(Type.FLOAT.tag(),new ColumnTypeMapper(Type.FLOAT,java.lang.String.class,HSSFCell.CELL_TYPE_NUMERIC));
    colWrappers.put(Type.DATE.tag(),new ColumnTypeMapper(Type.DATE,java.sql.Date.class,HSSFCell.CELL_TYPE_NUMERIC));
    colWrappers.put(Type.TIME.tag(),new ColumnTypeMapper(Type.TIME,java.sql.Time.class,HSSFCell.CELL_TYPE_NUMERIC));
    colWrappers.put(Type.TIMESTAMP.tag(),new ColumnTypeMapper(Type.TIMESTAMP,java.sql.Timestamp.class,HSSFCell.CELL_TYPE_NUMERIC));
   
   //=======================================================================
    java2Columns.put(java.lang.String.class,Type.VARCHAR);
    java2Columns.put(Character.TYPE,Type.VARCHAR);    
//    java2Columns.put(Byte.TYPE,Type.INTEGER);
//    java2Columns.put(TYPE,Type.INTEGER);
    java2Columns.put(Integer.TYPE,Type.INTEGER);
 //   java2Columns.put(Long.TYPE,Type.INTEGER);

    java2Columns.put(Float.TYPE,Type.FLOAT);
 //   java2Columns.put(Double.TYPE,Type.FLOAT);

    java2Columns.put(java.sql.Date.class,Type.DATE);
    java2Columns.put(java.util.Date.class,Type.DATE);

    java2Columns.put(java.sql.Time.class,Type.TIME);
    
    java2Columns.put(java.sql.Timestamp.class,Type.TIMESTAMP);

   //=======================================================================
    xls2Columns.put(new Integer(HSSFCell.CELL_TYPE_STRING),Type.VARCHAR);
    xls2Columns.put(new Integer(HSSFCell.CELL_TYPE_BLANK),Type.VARCHAR);    
    xls2Columns.put(new Integer(HSSFCell.CELL_TYPE_BOOLEAN),Type.VARCHAR); 
    xls2Columns.put(new Integer(HSSFCell.CELL_TYPE_FORMULA),Type.VARCHAR);

    xls2Columns.put(new Integer(HSSFCell.CELL_TYPE_NUMERIC),Type.FLOAT);
    xls2Columns.put(java.lang.Double.TYPE,Type.FLOAT);
  }
  
  static
  {
    populateWrappers();
  }

//------------------------------------------------------------------------ 
  public static Class column2Java(Type columnType)
  {
    ColumnTypeMapper ctWrapper=(ColumnTypeMapper)colWrappers.get(columnType);
    Class clazz=ctWrapper.getJavaClass();
    
    return clazz;
  }

  public static int column2Xls(Type columnType)
  {
    ColumnTypeMapper ctWrapper=(ColumnTypeMapper)colWrappers.get(columnType.tag());
    
    //System.err.println("ctWrapper="+ctWrapper+",columnType="+columnType);
    
    int xlsFormat=ctWrapper.getXlsFormat();
    return xlsFormat;
  }
  
  public static Type xls2Column(int format)
  {
    Type type=(Type)xls2Columns.get(new Integer(format));

    //fix me!!!
    type=(type==null)?Type.VARCHAR:type;
       
    return type;
  }

  public static Type java2Column(Class clazz)
  {
    Type type=(Type)java2Columns.get(clazz);
    
    //fix me!!!
    type=(type==null)?Type.VARCHAR:type;
    
    return type;
  }

//--------------------------------------------------------------------------
  public static class ColumnTypeMapper
  {
    private Type columnType;
    private Class      toJavaClazz;
    private int        toExcelFormat;
      
    public ColumnTypeMapper(Type columnType,Class javaClazz,int excelFormat)
    {
      this.columnType=columnType;
      this.toJavaClazz=javaClazz;
      this.toExcelFormat=excelFormat;
    }
      
    public Type getColumnType()
    {
      return columnType;
    }
      
    public Class getJavaClass()
    {
      return toJavaClazz;
    }
  
    public int getXlsFormat()
    {
      return toExcelFormat;
    }    
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -