java POI 简单解析xls文件



      准备工具:(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文件除去文件头部分得到  一个封装好的实体类。       

 


    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码可剥落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值