1、导入Excel 模板
**2、按模板的格式 进行数据导入直接存储数据库**
**Servlet 方法中 进行导入功能实现:**
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
(1)、前端调用后端接口传参,编写代码上传Excel 附件
// 创建json 对象
JSONObject returnJson = new JSONObject();
// 创建map对象
Map<String, String> resultMap = null;
// 创建file对象
String filePath = null;
// 创建excel book对象
Workbook workbook = null;
try {
// 调用文件上传工具类,返回文件路径
String savePath = this.getClass().getClassLoader().getResource("/").getPath(); // 上传文件的保存目录
String tempPath = this.getClass().getClassLoader().getResource("/").getPath(); // 上传时生成的临时文件保存目录
resultMap = FileUtil.upload(savePath, tempPath, req); // 实现map对象
/* 1. 判断文件是否上传 */
filePath = resultMap.get("arg_req_file");
if (null == filePath) {
throw new ExceptionUtils.CheckException("未上传文件");
}
// 2、 判断文件格式
File file = new File(filePath);
InputStream in = FileUtils.openInputStream(file);
workbook = checkFileValid(file, in);
**// 4、 通过需要验证的参数 先查询数据是否已经导入**
String queryExistSql = "SELECT develop_plan_id,version_upload FROM 表名 WHERE year = '"
+ argThisYear + "' AND ou_id = '" + argOuId + "';";
JSONObject transResultExist = this.queryDb(sqlSelectUrl, queryExistSql);
int rowCount = Integer.valueOf(transResultExist.getString("RowCount"));
// 如果 数据存在进行对存在的数据进行更新,不存在 直接进行插入
if (0 != rowCount) {
if (transResultExist.has("DataRows")) {
// 查询 dataRows 获取数据值
String Query = transResultExist.get("DataRows").toString();
JSONArray jsonQueryNameArray = new JSONArray(Query);
String developPlanId = jsonQueryNameArray.getJSONObject(0).getString("develop_plan_id");
String version = jsonQueryNameArray.getJSONObject(1).getString("version_upload");
Integer versionNum = Integer.parseInt(version)+1;
**// 通过其他参数验证数据已存在,并把之前数据 更改状态变为历史数据 通过字段 is_new(0历史、1在用)**
ArrayList<String> operateList = new ArrayList<String>();
operateList.add("SET SQL_SAFE_UPDATES = 0;");
operateList.add("UPDATE 表名 set is_new = '0' " + " WHERE year = '" + argThisYear
+ "' AND ou_id = '" + argOuId + "';");
JSONObject oprateDBRet = operateDb(sqlTransUrl, operateList, mapWebinterpData);
if ("1".equals(CommonUtils.getStrFromJsonobjet(oprateDBRet,
ConstantUtility.StandardWebConstant.KEY_RETCODE))) {