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.youkuaiyun.com/detail/zhuangchuanao/5217165
*2.poi-ooxml-3.6-20091214.jar 地址 http://download.youkuaiyun.com/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;
}
}