后台:
@RequestMapping(value = "/uploadFile.do", method = RequestMethod.POST)
public String uploadFile(
@RequestParam("questionFile") MultipartFile uploadFile,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String template = request.getParameter("template");
System.out.println(uploadFile.getName());
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=utf-8");
OutputStreamWriter os = new OutputStreamWriter(
response.getOutputStream(), "UTF-8");
PrintWriter pw = new PrintWriter(os);
List<List<String>> qList = ExcelUtil.resolveExcelFileToList(uploadFile
.getInputStream());
try {
infoService.importInfoByFile(pw, qList,template);
} catch (Exception e) {
e.printStackTrace();
String info = "导入文件出错,请核实情况后重新导入";
pw.println("<script>window.parent.pa(\"" + info
+ "\")</script>");
pw.flush();
}
pw.close();
response.flushBuffer();
return null;
}
@Override
public void importInfoByFile(PrintWriter pw, List<List<String>> list,
String template) throws Exception {
if("bjxx".equals(template)){
for (List<String> colList : list) {
PriceInfoEO price = new PriceInfoEO();
price.setStockCode(colList.get(0));
price.setStockName(colList.get(1));
try{
price.setCreateDate(DateHelper.parse(colList.get(2), "yyyy-MM-dd"));
}catch (Exception e) {
String dateStr = colList.get(2);
String y = dateStr.substring(0, 4);
String m = dateStr.substring(4, 6);
String d = dateStr.substring(6, 8);
price.setCreateDate(DateHelper.parse(y + "-" + m + "-" + d,"yyyy-MM-dd"));
}
price.setCommissionType(colList.get(3));
price.setCommissionCount(colList.get(4));
price.setCommissionMoney(colList.get(5));
price.setTel(colList.get(6));
price.setStatus("1");
baseDao.saveOrUpdate(price);
}
String info = "导入完成";
pw.println("<script>window.parent.pa(\"" + info
+ "\")</script>");
pw.flush();
}
else if("dxzf".equals(template)){
for (List<String> colList : list) {
ComDxzfEO com = new ComDxzfEO();
com.setGqdm(colList.get(0));
com.setSj(colList.get(1));
com.setZfjg(colList.get(2));
com.setYjzfsl(colList.get(3));
com.setSjzfsl(colList.get(4));
com.setSjmjzj(colList.get(5));
baseDao.saveOrUpdate(com);
}
String info = "导入完成";
pw.println("<script>window.parent.pa(\"" + info
+ "\")</script>");
pw.flush();
}
else if("fhkg".equals(template)){
for (List<String> colList : list) {
ComFhkgEO com = new ComFhkgEO();
com.setGqdm(colList.get(0));
com.setGgrq(DateHelper.parse(colList.get(1), "yyyy-MM-dd"));
com.setFasm(colList.get(2));
com.setGqdjr(DateHelper.parse(colList.get(3), "yyyy-MM-dd"));
com.setGqcxr(DateHelper.parse(colList.get(4), "yyyy-MM-dd"));
com.setQydzr(DateHelper.parse(colList.get(5), "yyyy-MM-dd"));
baseDao.saveOrUpdate(com);
}
String info = "导入完成";
pw.println("<script>window.parent.pa(\"" + info
+ "\")</script>");
pw.flush();
}
else if("ggry".equals(template)){
for (List<String> colList : list) {
LeaderEO com = new LeaderEO();
com.setGfdm(colList.get(0));
com.setYears(colList.get(1));
com.setName(colList.get(2));
com.setPosition(colList.get(3));
com.setAge(colList.get(4));
com.setSex(colList.get(5));
com.setBeginDate(colList.get(6));
com.setQccgs(colList.get(7));
com.setQmcgs(colList.get(8));
com.setGfzjs(colList.get(9));
com.setSflx(colList.get(10));
com.setOrderNum(Integer.parseInt(colList.get(11)));
baseDao.saveOrUpdate(com);
}
String info = "导入完成";
pw.println("<script>window.parent.pa(\"" + info
+ "\")</script>");
pw.flush();
}
else if("cwzb".equals(template)){
for (List<String> colList : list) {
ComCwzbEO com = new ComCwzbEO();
com.setGqdm(colList.get(0));
com.setYears(colList.get(1));
com.setYysr(colList.get(2));
com.setYylr(colList.get(3));
com.setJlr(colList.get(4));
com.setWfplr(colList.get(5));
com.setZzc(colList.get(6));
com.setZfz(colList.get(7));
com.setJzc(colList.get(8));
com.setMgsy(colList.get(9));
com.setMgjzc(colList.get(10));
com.setJzcsyl(colList.get(11));
baseDao.saveOrUpdate(com);
}
String info = "导入完成";
pw.println("<script>window.parent.pa(\"" + info
+ "\")</script>");
pw.flush();
}
else if("zygd".equals(template)){
for (List<String> colList : list) {
ComGdEO com = new ComGdEO();
com.setGqdm(colList.get(0));
com.setNf(Integer.parseInt(colList.get(1)));
com.setJzrq(DateHelper.parse(colList.get(2), "yyyy-MM-dd"));
com.setGd(colList.get(3));
com.setCgzs(colList.get(4));
com.setWxsgf(colList.get(5));
com.setCgbl(colList.get(6));
com.setOrders(colList.get(7));
baseDao.saveOrUpdate(com);
}
String info = "导入完成";
pw.println("<script>window.parent.pa(\"" + info
+ "\")</script>");
pw.flush();
}
else if("qbhuiyuan".equals(template)){
List<ArticleEO> artList = new ArrayList<ArticleEO>();
for(List<String> colList : list){
String temp = "";
temp = temp + "<table height='165' width='453' border='1' bordercolor='#000000' cellpadding='2' cellspacing='0'><tbody>";
temp = temp + "<tr><td width='30%'>公司名称<br /></td><td>" + colList.get(1) + "</td></tr>";
temp = temp + "<tr><td>注册资本<br /></td><td>" + colList.get(2) + "</td></tr>";
temp = temp + "<tr><td>联系人<br /></td><td>" + colList.get(3) + "</td></tr>";
temp = temp + "<tr><td>电话<br /></td><td>" + colList.get(4) + "</td></tr>";
temp = temp + "<tr><td>地址<br /></td><td>" + colList.get(5) + "</td></tr>";
temp = temp + "<tr><td>邮编<br /></td><td>" + colList.get(6) + "</td></tr>";
temp = temp + "<tr><td>邮箱<br /></td><td>" + colList.get(7) + "</td></tr></tbody></table>";
ArticleEO art = new ArticleEO();
art.setTitle(colList.get(1));
art.setContent(temp);
art.setArticleType(Constant.ARTICLE_TYPE_SALE_SERVICE_USER_2);
art.setStatus(Constant.STATUS_1);
art.setUserType(Constant.USER_TYPE_3);
art.setPublishDate(DateHelper.parse(colList.get(0)));
art.setDisabledDate(DateHelper.parse("2099-12-31"));
art.setIsShowIndex("0");
art.setOrderNum(99);
artList.add(art);
}
baseDao.saveOrUpdateAll(artList);
String info = "导入完成";
pw.println("<script>window.parent.pa(\"" + info
+ "\")</script>");
pw.flush();
}
}
前端:
<div id="upload_down" class="easyui-window" title="会员数据导入" style="width:408px;height:250px;"
data-options="modal:true,collapsible:false,minimizable:false,closed:true,selectOnCheck:false">
<form name="uploadForm" method="post" id="upload" target="frameFile" action="<%=basePath %>uploadFile.do?template=qbhuiyuan" enctype="multipart/form-data">
<fieldset style="width:350px;float:left;margin:10px;padding:10px;">
<legend>导入与模板下载:</legend>
<div style="margin:15px;">
<div style="width:90%;text-align:center;margin-left:0px;">
<input id="questionFile" type="file" style="width:250px;height:25px;display:block;" name="questionFile" />
</div>
<div style="float:left;display:block;width:90%;text-align:left;margin:5px 0px 0px 0px;">
<span id="upload_process" style="float:left;margin:5px 0px 5px 10px;color:#0A8CD2;font-size:12px;color:#343434;"></span>
</div>
<div style="float:left;width:90%;text-align:center;margin-top:5px;">
<input type="button" onClick="downLoad();" value="下载模板" id="Button1" class="oa_btn" />
<input type="button" onClick="upload();" value="导入" id="Button1" class="oa_btn" />
</div>
</div>
</fieldset>
</form>
</div>
- excel上传和下载
需要注意的地方: 1.js构造表单并提交 2.js中文传参encodeURI(encodeURI("中文")),action接收并转换value = URLDecoder.deco ...
- java对excel表格的上传和下载处理
Excel表格文件的上传和下载,java中涉及到文件肯定会有io流的知识. 而excel文件就要涉及到poi技术,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为 ...
- vue实现Excel文件的上传与下载
一.前言项目中使用到比较多的关于Excel的前端上传与下载,整理出来,以便后续使用或分析他人. 1.前端vue:模板下载与导入Excel 导入Excel封装了子组件,点击导入按钮可调用子组件,打开文件 ...
- 2019.06.05 ABAP EXCEL 操作类代码 OLE方式(模板下载,excel上传,内表下载)
一般使用标准的excel导入方法9999行,修改了标准的excel导入FM 整合出类:excel的 模板下载,excel上传,ALV内表下载功能. 在项目一开始可以SE24创建一个类来供整体开发使用, ...
- 微信小程序云开发-云存储-上传、下载、打开文件文件(word/excel/ppt/pdf)一步到位
一.wxml文件 <!-- 上传.下载.打开文件一步执行 --> <view class="handle"> <button bindtap=&quo ...
- Struts2 之 实现文件上传和下载
Struts2 之 实现文件上传和下载 必须要引入的jar commons-fileupload-1.3.1.jar commons-io-2.2.jar 01.文件上传需要分别在struts.xm ...
- PHPexcel:多sheet上传和下载
excel表格上传和下载,断断续续写了很久,赶紧记下来万一以后忘记就亏大了= = 数据库有三张表:
- EXCEL上传POI
Java SpringMVC POI上传excel并读取文件内容 2017年11月27日 15:26:56 强人锁男. 阅读数:15329 用的SSM框架,所需要的jar包如图所示:,链接地址:j ...
- 七牛云存储 qiniu 域名 回收 文件上传 备份 下载 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
随机推荐
- Looksery Cup 2015 D. Haar Features 暴力
D. Haar Features Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/549/prob ...
- C#后台程序与HTML页面中JS方法互调(功能类似于Ajax中的DWR)
此方法适用于 C#中嵌入WebBrowser(浏览器) 通过浏览器中加载的页面与C#的后台代码进行交互. 一.C#程序 1.在C#窗体中添加WebBrowser(浏览器),将页面的URL添加到浏览器中 ...
- hdu4085 Peach Blossom Spring 斯坦纳树,状态dp
(1)集合中元素表示(1<<i), i从0开始 (2)注意dp[i][ss] = min(dp[i][ss], dp[i][rr | s[i]] + dp[i][(ss ^ rr) | s ...
- 手把手教你使用 Imagepro plus - 宏操作【转】
Imagepro plus操作5 – 提高测量效率的必须技术-宏操作(续) 星期三, 七月 7th, 2010 | 图像分析 | hbchendl | 浏览:897 请先参阅:Imagepro plu ...
- iOS开发——语法OC篇&BOOL / bool / Boolean / NSCFBoolean
Name Typedef Header True Value False Value BOOL signed char objc.h YES NO bool _Bool (int) stdbool.h ...
- careercup-高等难度 18.6
18.6 设计一个算法,给定10亿个数字,找出最小的100万个数字.假定计算机内存足以容纳全部10亿个数字. 解法: 方法1:排序 按升序排序所有的元素,然后取出前100万个数,时间复杂度为O(nlo ...
- Android实现XML解析技术
转载:Android实现XML解析技术 本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为 ...
- PHP手册总结《预定义变量》
一:$_GET GET 是通过 urldecode() 传递的. 二:$_SERVER 这个数组中的项目由 Web 服务器创建.不能保证每个服务器都提供全部项目:服务器可能会忽略一些 三:$argc, ...
- 浅析SQL Server 2005中的主动式通知机制
一.引言 在开发多人同时访问的Web应用程序(其实不只这类程序)时,开发人员往往会在缓存策略的设计上狠下功夫.这是因为,如果将这种环境下不常变更的数据临时存放在应用程序服务器或是用户机器上的话,可以避 ...
- jquery 和 $
而jQuery就是jQuery库提供的一个函数.(好像也不仅仅只是函数, 因为还有 $.ajax(options) 这样的使用,等同 jQuery.ajax(options)) 这个函数的作用是根据 ...