现在的位置: 首页 > 综合 > 正文

java 读取EXECL信息 经典入门

2018年03月22日 ⁄ 综合 ⁄ 共 3289字 ⁄ 字号 评论关闭

1.读取EXECL文件类

package hzdracom.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
/*
 * 说明:本demo读取本地EXECL的前两列内容
 * 需要下面两个架包
 *1.poi-3.6-20091214.jar   地址 http://download.csdn.net/detail/zhuangchuanao/5217165
 *2.poi-ooxml-3.6-20091214.jar  地址   http://download.csdn.net/detail/zhuangchuanao/5217173
 *
 *
 * @author ZhuangZi
 * @version $Id: EXCEL.java,v 0.1 2013-4-3 下午03:30:39 ZhuangZi Exp $
 */
@SuppressWarnings( { "unchecked", })
public class EXCEL {
    /***
     * 
     * @author ZhuangZi
     * @class hzdracom.test.EXCEL
     * @method readExcelList
     * @Directions 读execl文件的前两列
     * @date 2013-4-2下午05:15:25
     * @param file
     * @param args
     * @return
     * @throws IOException List
     */
    public static List readExcelList(File filepath ) throws IOException{      
        List list = new ArrayList();
        Workbook rwb = null;
     
        //创建输入流
        InputStream stream = new FileInputStream(filepath);      
        
        try {
            rwb = WorkbookFactory.create(stream);
        } catch (InvalidFormatException e) {     
            e.printStackTrace();
    }       
        
        Sheet sheet=null;
        if (rwb!=null&&rwb.getSheetAt(0)!=null) {
             sheet = rwb.getSheetAt(0);
        }
 
        //行数(表头的目录不需要,从1开始)
        int rowCount = sheet.getLastRowNum();
         
            for(int i=0; i<=rowCount; i++){ 
                Row row = sheet.getRow(i);  
                if(row!=null){
                    Cell cell = row.getCell(0);
                    Cell cell2= row.getCell(1);
                    String c = cell.toString();
                    String c2 = cell2.toString();
                    if(isNotEmpty(c)&&isNotEmpty(c2)){
                        //读取单元格的数据
                    DecimalFormat df = new DecimalFormat("##");
                        switch (cell.getCellType()) {                
                                case Cell.CELL_TYPE_STRING:                      
                                    list.add(String.valueOf(cell.getRichStringCellValue()));                        
                                    break;
                                case Cell.CELL_TYPE_NUMERIC:             
                                    list.add(df.format(cell.getNumericCellValue()));                                
                                    break;
                                default:                         
                                    break;
                        }
                        switch (cell2.getCellType()) {               
                        case Cell.CELL_TYPE_STRING:                      
                            list.add(String.valueOf(cell2.getRichStringCellValue()));                       
                            break;
                        case Cell.CELL_TYPE_NUMERIC:             
                            list.add(df.format(cell2.getNumericCellValue()));                               
                            break;
                        default:                         
                            break;
                }
                    }
             }
            }
        
        return list;        
    }
    /**
     * 
     * @author ZhuangZi
     * @class hzdracom.test.EXCEL
     * @method EXECLINFO
     * @Directions 封装取到execl信息
     * @date 2013-4-2下午05:29:27
     * @return List<ExeclBean>
     */
    public static List<ExeclBean> EXECLINFO( String path) {
        List list = new ArrayList();
        File file = new File(path);
        ExeclBean  bean = new ExeclBean();
        List<ExeclBean> listbean = new ArrayList<ExeclBean>();
        try {
            list = readExcelList(file );
            int j = 0;
            for (int i = 0; i < list.size(); i++) {
                if (j == 0) {
                    bean=new ExeclBean();
                    bean.setPhone(list.get(i).toString());
                    j++;
                } else {
                    j = 0;
                    bean.setNum(list.get(i).toString());
                    listbean.add(bean);
                }
            }
        } catch (IOException e1) {
        }
        return listbean;
    }

    
    public static boolean isNotEmpty(String string) {
        return string != null && !string.equals("null")&& string.trim().length() > 0;
    }   
    public static void main(String[] args) {
        List<ExeclBean> listbean = EXECLINFO("C://3.xls");
        for (int i = 0; i < listbean.size(); i++) {
            System.out.println(listbean.get(i).getPhone()+"****"+listbean.get(i).getNum());
        }
    }
}

2.封装EXECL前两列的信息类

package hzdracom.test;
/*
 * 封装EXECL前两列的信息
 * @author ZhuangZi
 * @version $Id: ExeclBean.java,v 0.1 2013-4-3 下午03:31:15 ZhuangZi Exp $
 */
public class ExeclBean {
private String phone;//假如第一列是手机号码
private String num;//第二例为通话次数
public String getPhone() {
    return phone;
}
public void setPhone(String phone) {
    this.phone = phone;
}
public String getNum() {
    return num;
}
public void setNum(String num) {
    this.num = num;
}

}

 

【上篇】
【下篇】

抱歉!评论已关闭.