您的位置:首页 > 编程语言 > Java开发

java上传excel文件及解析

2018-03-05 16:26 609 查看
 

java上传excel文件及解析

CreateTime--2018年3月5日16:25:14

Author:Marydon

一、准备工作

  1.1 文件上传插件:swfupload;

  1.2 文件上传所需jar包:commons-fileupload-1.3.1.jar和commons-io-2.2.jar;

  1.3 解析excel所需jar包:dom4j-1.6.1.jar,poi-3.8-20120326.jar,poi-ooxml-3.8-20120326.jar,poi-ooxml-schemas-3.8-20120326.jar和xmlbeans-2.3.0.jar

  1.4目录结构

package bo;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import tools.ReadExcelUtils;

/**
*
* @author Marydon
* @createTime 2018年3月2日下午8:01:07
* @updateTime
* @Email:Marydon20170307@163.com
* @version:1.0.0
*/
public class BoExcelImpl implements IBoExcel {
private Logger log = Logger.getLogger(this.getClass());

@Override
public boolean readExcel(String filePath) throws Exception {
try {
boolean isSuccess = false;

ReadExcelUtils excelReader = new ReadExcelUtils(filePath);

List<String> columnsList = new ArrayList<String>();
columnsList.add("ORG_ID");
columnsList.add("DEPENT_NAME");
columnsList.add("DOCTOR_NAME");
columnsList.add("DOCTOR_PHONE");
columnsList.add("SCHEDULE_DATE");
columnsList.add("WEEK_TXT");
columnsList.add("WB_TYPE");
columnsList.add("CLOSE_TZ");
columnsList.add("REPLACE_TZ");

// 1.对读取Excel表格内容
List<Map> scheduleList = excelReader.readExcelContent(columnsList);
System.out.println(scheduleList);

isSuccess = true;

// 删除该上传的文件
File excelFile = new File(filePath);
if (excelFile.exists()) {
excelFile.delete();
}
return isSuccess;
} catch (Exception e) {
log.error(e.getMessage());
throw new RuntimeException(e.getMessage(), e);
}
}
}
View Code  

  效果展示:

  excel文件

  上传成功

  刷新upload目录

  导入成功

注意:

  1.文章中的Dialog和$get()是自定义封装的方法,无需理会;

  2.其中,excel中代表数值的字段,需要改成文本格式,否则解析出来后面会带".0";

  3.关于上面为什么要抛出运行时异常?

  在往数据库中批量插入数据时,如果中间插入失败,需要进行回滚。

 相关推荐:

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: