后台:
@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 ...
随机推荐
- SAP Connector 3.0 .Net 开发
在VS2010中使用控制台应用程序使用SAP Connector 3.0开发时,当程序运行到实例化RfcConfigParameters时报错 (RfcConfigParametersrefcon = ...
- Codeforces Round #311 (Div. 2) E. Ann and Half-Palindrome 字典树/半回文串
E. Ann and Half-Palindrome Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contes ...
- 搭建一个全栈式的HTML5移动应用框架(纯干货,亲!)
打开HTML5的技术网站,满屏的“5个推荐的JavaScript框架”.“10个移动应用框架”,全都是你妹的框架, 但是,你知道这些框架是干毛用的吗?来吧,我们来梳理一下吧 目前HTML5涉及的框架大 ...
- linux脚本^M: bad interpreter:解决方法
转自:http://blog.csdn.net/huiguixian/article/details/6386774 在Linux中执行.sh脚本,异常提示/bin/sh^M: bad interpr ...
- cocos2d-x中CCScale9Sprite的另一种实现
cocos2d 2.0之后加入了一种九宫格的实现,主要作用是用来拉伸图片,这样的好处在于保留图片四个角不变形的同时,对图片中间部分进行拉伸,来满足一些控件的自适应(PS: 比如包括按钮,对话框,最直观 ...
- Qt组件中的双缓冲无闪烁绘图
双缓冲绘图在Qt4中,所有的窗口部件默认都使用双缓冲进行绘图.使用双缓冲,可以减轻绘制的闪烁感.在有些情况下,用户要关闭双缓冲,自己管理绘图.下面的语句设置了窗口部件的Qt::WA_PaintOn ...
- oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT_数据库的几种锁
问题如下: SQL> conn scott/tiger@vm_databaseConnected to Oracle Database 11g Enterprise Edition Releas ...
- SSMTP—让Linux系统从Office 365发送邮件
SSMTP-让Linux系统从Office 365发送邮件 导读 SSMTP 是一个非常简单实用的小工具,它可以将 Linux 系统的电子邮件中继到 Office 365.Google 或其它第三方 ...
- windows10上安装 .NET Framework 3.5
在安装一些软件时,需要 .NET Framework3.5.按照windows给的提示下载不了.在官方网站上给了解决方案: 运行 DISM 工具 从屏幕右边缘向中间轻扫,然后点击“搜索”.(如果使用的 ...
- tachyon with hadoop
hadoop2.2.0 jdk1.7 tachyon0.5.0 无zookeeper tachyon和hadoop都是伪分布式模式 1.修改core-site.xml文件 <property&g ...