准备工具:(1) poi-3.9-20121203.jar
xls文件:
开始编程 欣赏源码: 《有需要的同学可以直接粘贴使用》
public ArrayList<PayAnthar> FILEXlSForEntity(String XLSFILE_PAHT)
{
ArrayList<PayAnthar>list= new ArrayList<PayAnthar>();
HSSFWorkbook workbook = null;
DecimalFormat df = new DecimalFormat("#.00");
try {
workbook = new HSSFWorkbook(new FileInputStream(new File(XLSFILE_PAHT)));
//POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filePath));
// 获得Sheet数
System.out
.println("===SheetsNum===" + workbook.getNumberOfSheets());
// 开始读取
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
if (null != workbook.getSheetAt(i)) {
// 获得一个Sheet
HSSFSheet sheet = workbook.getSheetAt(i);
System.out.println("共有" + sheet.getLastRowNum() + "行");
//获得客户名称
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell(0);
String CostomName = cell.getRichStringCellValue().getString();
System.out.println(CostomName + " ");
//获得批次号
HSSFRow row1 = sheet.getRow(1);
HSSFCell cell1 = row1.getCell(0);
String batchNo = cell1.getRichStringCellValue().getString();
System.out.println(batchNo + " ");
for (int rowNumOfSheet =3; rowNumOfSheet <= sheet.getLastRowNum(); rowNumOfSheet++) {
if (null != sheet.getRow(rowNumOfSheet)) {
// 获得一个row
HSSFRow rows = sheet.getRow(rowNumOfSheet);
System.out.println("第" + rowNumOfSheet + "行 ");
//System.out.print("一行有"+row.getLastCellNum()+"单元格");
PayAnthar pay= new PayAnthar();
HSSFCell AtmNo = rows.getCell(0);
HSSFCell City = rows.getCell(1);
HSSFCell bankName = rows.getCell(2);
HSSFCell depBank = rows.getCell(3);
HSSFCell regName = rows.getCell(4);
HSSFCell toAtmNo = rows.getCell(5);
HSSFCell transAmount = rows.getCell(6);
HSSFCell payDesc = rows.getCell(7);
pay.setAtmNo( AtmNo.getRichStringCellValue().getString());
pay.setCity(City.getRichStringCellValue().getString());
pay.setBankName(bankName.getRichStringCellValue().getString());
pay.setDepBank(depBank.getRichStringCellValue().getString());
pay.setRegName(regName.getRichStringCellValue().getString());
pay.setToAtmNo(toAtmNo.getRichStringCellValue().getString());
pay.setTransAmount(transAmount.getNumericCellValue());
if(payDesc!=null){
pay.setPayDesc(payDesc.getRichStringCellValue().getString());
}
list.add(pay);
}
}
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
经过此段代码: 将xls文件除去文件头部分得到 一个封装好的实体类。