文档章节

excel导入(二)

向北勿忘
 向北勿忘
发布于 2017/06/05 09:19
字数 524
阅读 12
收藏 0

controller类的编写,在导入excel前,先执行删除所有数据,

注意:windows和linux操作系统的区别File.separator

路径分隔符windows是“\”  、linux是"/"

package com.soongrande.dfsk.excel.controller;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.swing.JOptionPane;

import org.easy.excel.ExcelContext;
import org.easy.excel.result.ExcelImportResult;
import org.mis.action.IActionContext;
import org.mis.service.IDefaultService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.servlet.ModelAndView;

import com.soongrande.dfsk.business.dealer.model.SgDfskBusiDealerVO;
import com.soongrande.dfsk.business.serve.model.SgDfskBusiServeVO;
import com.soongrande.dfsk.excel.ExcelService;

@RestController
@RequestMapping("excel")
public class SgExcelController{
	private static final Logger logger = LoggerFactory.getLogger(SgExcelController.class);

	@Autowired
	ExcelContext excelContext;
	@Resource(name = ExcelService.BEAN_ID)
	private ExcelService excelService;
	
	@RequestMapping("/export")
	public ModelAndView Import(){
		ModelAndView view = new ModelAndView();
		view.setViewName("system/excel/excel");
		return view;
	}
	
	@RequestMapping("/doimport")
	public ModelAndView customerImport(@RequestParam("excelFile") CommonsMultipartFile excelFile, HttpServletRequest request){
		
		String id = "";
		boolean res = true;
		try{
		int serveCts = excelService.deleteServe( new SgDfskBusiServeVO());

		int dealCts = excelService.deleteDeal(new SgDfskBusiDealerVO());
		SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
		String updatePath = request.getSession().getServletContext().getRealPath("upload");
		String name =excelFile.getFileItem().getName();
		String fileName = df.format(new Date())+name;
		File file = new File(updatePath, fileName);
		if (!file.exists()) {
			file.mkdirs();
		}
		
			// 保存临时文件
			excelFile.transferTo(file);
		
		
			InputStream excelStream = new FileInputStream(updatePath +File.separator + fileName);
			ExcelImportResult result = excelContext.readExcel("dealer", 0,excelStream);
			if(result!=null){
				List<SgDfskBusiDealerVO>  list =	result.getListBean();
				for(int i=0;i<list.size();i++){
					SgDfskBusiDealerVO vo = list.get(i);
					excelService.importDealerInfo(vo);
				}
			}
			InputStream excelStream1 = new FileInputStream(updatePath +File.separator + fileName);
			ExcelImportResult result1 = excelContext.readExcel("serve", 0,excelStream1);
			if(result1 != null){
				List<SgDfskBusiServeVO>  list =	result1.getListBean();
				for(int i=0;i<list.size();i++){
					SgDfskBusiServeVO vo = list.get(i);
					excelService.importServeInfo(vo);
				}
			}
			file.delete();
		} catch(Exception e){
			res = false;
			e.printStackTrace();
		}finally{
		//JOptionPane.showMessageDialog(null, "导入成功!确认回到当前页面", "成功", JOptionPane.PLAIN_MESSAGE);
			ModelAndView view = new ModelAndView();
			if(res){
				view.addObject("result","1" ); 
			}else{
				view.addObject("result","0" ); 
			}
			view.setViewName("system/excel/excel");
			return view;
		}
		
	}
	

	
}

页面内容,对应,导入成功的提示

<div style="width: 100%; float: left;">
			<div>
				<form id="upload" action="../excel/doimport" method="post" enctype="multipart/form-data" >
					<div class="form-group">
						<label for="fileupload">点击此按钮选择文件</label> 
						<input type="file" name="excelFile" class="" id="fileupload">
					</div>
					<button id="uploads" type="submit" class="btn btn-primary Import">点此导入Excel</button>
				</form>
				<c:if test="${result eq '1'}">
					<script>
						MsgBox.showInfoMsg("操作成功!");
					</script>
				
				</c:if>
				<c:if test="${result eq '0'}">
					<script>
						MsgBox.showInfoMsg("操作失败!");
					</script>
				
				</c:if>
			</div>
		</div>
		

service接口的方法实现

package com.soongrande.dfsk.excel.service.impl;

import java.util.List;
import java.util.Map;

import org.mis.service.IDefaultService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import com.soongrande.base.service.impl.BaseServiceImpl;
import com.soongrande.dfsk.business.dealer.model.SgDfskBusiDealerVO;
import com.soongrande.dfsk.business.serve.model.SgDfskBusiServeVO;
import com.soongrande.dfsk.excel.ExcelService;

@Service(ExcelService.BEAN_ID)
public class ExcelServiceImpl extends BaseServiceImpl implements ExcelService{
	@Autowired
	@Qualifier("defaultService")
	IDefaultService service;
	
	@Override
	public Object[] importDealerInfo(SgDfskBusiDealerVO vo) throws Exception{
		service.update("com.soongrande.dfsk.business.dealer.config.dealer.insert", vo);
		return null;
	}
	
	@Override
	public Object[] importServeInfo(SgDfskBusiServeVO vo) throws Exception{
		service.update("com.soongrande.dfsk.business.serve.config.serve.insert", vo);
		return null;
	}

	@Override
	public Integer deleteServe(SgDfskBusiServeVO vo) throws Exception {
		// TODO Auto-generated method stub
		return service.delete("com.soongrande.dfsk.business.serve.config.serve.delete",vo);
	}

	@Override
	public Integer deleteDeal(SgDfskBusiDealerVO vo) throws Exception {
		// TODO Auto-generated method stub
		return service.delete("com.soongrande.dfsk.business.dealer.config.dealer.delete",vo);
	}

}

 

© 著作权归作者所有

上一篇: maven学习
下一篇: java(一)——JDK
向北勿忘
粉丝 1
博文 25
码字总数 4707
作品 0
私信 提问
JEPLUS平台Excel批量导入的操作配置——JEPLUS软件快速开发平台

JEPLUS平台Excel批量导入的操作配置 JEPLUS平台支持Excel数据的批量导入,但是很多客户不明白批量导入怎么配置,今天这个笔记就简单说一下JEPLUS的Excel数据批量导入怎么来配置。 一、效果展...

JEPLUS
2018/06/26
40
0
精简的 Excel 导入导出工具 - java-excel-utils

是JAVA操作 Excel 导入导出的工具类,目的是简化逻辑操作、可拓展 Excel 导入导出配置。 使用场景: 数据导出Excel表格是系统经常基本的功能之一,而导出Excel数据又是多种多样,如:多表格数...

czydub
2018/12/07
5.3K
17
excel导入mysql数据库方法(最新,2016年2月19日)

网上的方法不少,能用的不多,相信以下方法是最靠谱的,值得记录. 一,先进phpmyadmin数据库管理,导出空表,表的格式为csv,然后用记事本打开,注意要统一编码,数据库是utf-8,就把csv转为utf-8编码,...

越野小生
2016/02/18
1K
0
旅游公司用友财务软件接口实现大批量数据导入财务模块实现报表统计

一. 总体概况:.............................................................................................................. 2 二. 需求:.............................................

qq5b626cba063b7
2018/08/02
0
0
NPOI的Excel的读取和写入

一、Excel理论知识 最新版NPOI2.4.1链接:https://pan.baidu.com/s/1iTgJi2hGsRQHyw2S_4dIUw 提取码:adnq • 整个Excel表格叫做工作簿:WorkBook • 工作簿由以下几部分组成   a.页(Shee...

陈彦斌
05/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
4
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
10
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
7
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部