梦幻之旅

DEBUG - 天道酬勤

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  671 随笔 :: 6 文章 :: 256 评论 :: 0 Trackbacks
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

import org.apache.struts.upload.FormFile;

/**
 * 
@author Hay Vanpull
 * 
 
*/
public class JXLTOOL
{
    
private Workbook                workbook   = null// 工作部对象
                                                       
    
private HashMap<String, String> mapData    = null// data数据
                                                       
    
private Sheet                   sheet      = null// 工作表
                                                       
    
public int                      totalRows  = 0;   // 总行数
                                                       
    
public int                      totalCells = 0;   // 总列数
                                                       
    
/**
     * 以一个InputStream为参数的构造器
     * 
     * 
@param inputStream
     * 
@throws IOException
     * 
@throws BiffException
     
*/
    
public JXLTOOL(InputStream inputStream) throws BiffException, IOException
    {
        
this.workbook = Workbook.getWorkbook(inputStream);
        
this.sheet = this.workbook.getSheet(0);
        
this.getRows();
        
this.getCells();
    }
    
    
/**
     * 以一个Struts FormFile为参数的构造器
     * 
     * 
@param file
     * 
@throws IOException
     * 
@throws FileNotFoundException
     * 
@throws BiffException
     
*/
    
public JXLTOOL(FormFile file) throws FileNotFoundException, IOException,
            BiffException
    {
        
this(file.getInputStream());
    }
    
    
/**
     * 以一个File为参数的构造器
     * 
     * 
@param file
     * 
@throws IOException
     * 
@throws BiffException
     
*/
    
public JXLTOOL(File file) throws BiffException, IOException
    {
        
this(new FileInputStream(file));
    }
    
    
/**
     * 以一个文件路径path的构造器
     * 
     * 
@param filePath
     * 
@throws IOException
     * 
@throws BiffException
     
*/
    
public JXLTOOL(String filePath) throws BiffException, IOException
    {
        
        
this(new File(filePath));
    }
    
    
/**
     * 把所有数据放到一个map中去,key为行号加列号
     * 
     * 
@return
     
*/
    
public HashMap<String, String> getExcelDate()
    {
        mapData 
= new HashMap<String, String>();
        
for (int i = 0; i < this.totalRows; i++)
        {
            
for (int j = 0; j < this.totalCells; j++)
            {
                
this.mapData.put(i + "" + j, this.getData(j, i));
            }
        }
        
return this.mapData;
    }
    
    
/**
     * 得到总行数
     
*/
    
private void getRows()
    {
        
this.totalRows = sheet.getRows();
    }
    
    
/**
     * 得到总列数
     
*/
    
private void getCells()
    {
        
this.totalCells = this.sheet.getColumns();
    }
    
    
/**
     * 得到数据
     * 
     * 
@param cell
     * 
@param row
     * 
@return
     
*/
    
private String getData(int cell, int row)
    {
        Cell rs 
= this.sheet.getCell(cell, row);
        
return rs.getContents();
    }
}
posted on 2008-08-13 17:32 HUIKK 阅读(8093) 评论(0)  编辑  收藏 所属分类: TOOL

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问