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; } }