java使用poi实现excel解析

上传文件本地路径自从ie8之后是无法从程序中获取的,因为ie加了权限保护,程序上传文件时会先默认c盘创建临时文件来引导文件流的读取,而不是直接获取全路径来读取文件。如果想从action的file对象中获取的路径并根据这个路径判断其文件类型、是没法根据其后缀名判断的,因为这个临时文件是.temp类型,所以要就在判断文件类型时使用fileFileName得到全文件名去判断文件类型,使用file.getPath()进行文件读取。

jsp:

  <s:form action="pages/BatchExcel/InitBatchExcel.html" method="POST"
   enctype="multipart/form-data">
   <s:file name="batchexcel" label="批量添加公司" />
   <s:submit value="批量上传" />
  </s:form>

 

action类:

List<List<String>> list = poi.read(batchexcel.getPath(),batchexcelFileName);

 

ReadExcel类:

public List<List<String>> read(String filePath,String filePathFileName) {
  List<List<String>> dataLst = new ArrayList<List<String>>();
  InputStream is = null;
  try {
   if (!validateExcel(filePathFileName)) {
    return null;
   }
   if (!validateExcelExists(filePath)) {
    return null;
   }
   boolean isExcel2003 = true;
   if (WDWUtil.isExcel2007(filePath)) {
    isExcel2003 = false;
   }


   File file = new File(filePath);
   is = new FileInputStream(file);
   dataLst = read(is, isExcel2003);
   is.close();
  } catch (Exception ex) {
   ex.printStackTrace();
  } finally {
   if (is != null) {
    try {
     is.close();
    } catch (IOException e) {
     is = null;
     e.printStackTrace();
    }
   }
  }
  return dataLst;
 }

 

public boolean validateExcel(String filePathFileName) {
  if (filePathFileName == null
    || !(WDWUtil.isExcel2003(filePathFileName) || WDWUtil
      .isExcel2007(filePathFileName))) {
   errorInfo = "文件名不是excel格式";
   return false;
  }
  return true;
 }


 public boolean validateExcelExists(String filePath) {
  File file = new File(filePath);
  if (file == null || !file.exists()) {
   errorInfo = "文件不存在";
   return false;
  }
  return true;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一川烟雨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值