EasyUi通过OCUpload上传及POI上传 实现导入xls表格功能
Easyui上传文件案例
第一步:要想使用OCUpload首先前端需要导入js包
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.ocupload-1.1.2.js"></script>
第二步:提供一个上传按钮(本案例用的EasyUi框架)
var toolbar = [{
id: 'button-edit',
text: '修改',
iconCls: 'icon-edit',
handler: doView
}, {
id: 'button-import',
text: '导入',
iconCls: 'icon-redo'
];
第三步:提供按钮事件
$(function() {
$('#button-import').upload({
action: '${pageContext.request.contextPath}/upLoad.action',
name: 'areaFile',
onComplete: function(data) {
alert(data);
}
});
});
第四步:写controller层
@Controller
@ParentPackage("struts-default")
@Namespace("/")
@Scope("prototype")
public class AreaAction extends ActionSupport implements ModelDriven<Area> {
private Area model = new Area();
@Resource
private AreaService areaservice;
@Action(value="areaAction_importXls")
public String importXls() throws IOException{
String flag = "1";//1-成功;0-失败
try {
//1.使用workbook获取整个excel
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(areaFile));
//2.使用workbook获取某个sheet页
HSSFSheet sheet = wb.getSheetAt(0);
//3.遍历sheet页获取row行
List<Area> list = new ArrayList<Area>();
for(Row row : sheet){
//3.1跳过第一行标题行
int rowNum = row.getRowNum();
if(0 == rowNum){
continue;//跳过本次循环,进入下一次循环
}
//4.使用row获取cell单元格
String id = row.getCell(0).getStringCellValue();
String province = row.getCell(1).getStringCellValue();
String city = row.getCell(2).getStringCellValue();
String district = row.getCell(3).getStringCellValue();
String postcode = row.getCell(4).getStringCellValue();
//5.创建area封装数据
Area area = new Area();
area.setId(id);
area.setProvince(province);
area.setCity(city);
area.setDistrict(district);
area.setPostcode(postcode);
province = province.substring(0, province.length() - 1);
city = city.substring(0, city.length() - 1);
district = district.substring(0, district.length() - 1);
String tempStr = province+city+district;//河北石家庄开发
String[] headByString = PinYin4jUtils.getHeadByString(tempStr);//[H,B,S,J,Z,K,F]
String shortcode = StringUtils.join(headByString, "");
area.setShortcode(shortcode);
//2.城市码
String citycode = PinYin4jUtils.hanziToPinyin(city,"");
area.setCitycode(citycode);
list.add(area);
}
//6.批量保存数据
areaService.batchSave(list);
} catch (IOException e) {
e.printStackTrace();
flag = "0";
}
//7.使用response将flag返回
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
ServletActionContext.getResponse().getWriter().print(flag);
return NONE;
}
}
第五步:创建service层的save方法实现保存。
@Service
@Transactional
public class AreaServiceimp implements AreaService {
@Resource
private AreaDao areadao;
@Override
public void add(ArrayList<Area> list) {
for (Area area : list) {
areadao.save(area);
}
}
}
第六步:AreaDao创建(本测试案例用到的持久层是JPA)
public interface AreaDao extends JpaRepository<Area, String>, JpaSpecificationExecutor<Area> { }
第七步:修改jsp页面,如果上传成功提示用户上传成功、如果失败就提示上传失败。
<script>
$(function() {
$('#button-import').upload({
action: '${pageContext.request.contextPath}/upLoad.action',
name: 'areaFile',
onComplete: function(data) {
if("1" == data) {
$.messager.confirm('提示信息', '上传成功', 'info');
} else {
$.messager.alert('提示信息', '上传失败', 'error');
}
}
})
})
</script>
开始测试:
转载于:https://www.cnblogs.com/sjzxs/p/9438529.html
EasyUi通过OCUpload上传及POI上传 实现导入xls表格功能相关推荐
- Springboot整合poi +vue实现导出导入Excle表格数据展示图形
工具: idea 数据库: mysql 框架:Springboot 准备工作: 1.导入主要依赖 (poi) <dependency><groupId>org.apache.p ...
- 使用jQuery OCUpload实现excel文件一键上传功能
使用jQuery OCUpload实现excel文件一键上传功能 js代码 //为导入按钮,添加一键上传效果 $("#button-import").upload({action: ...
- POI上传Excel的小问题处理
package com.platform.utils.excel;import com.platform.utils.RRException; import org.springframework.w ...
- poi 上传Excel如何处理大文件,避免内存溢出
使用poi做上传时,使用一般的形式,用户模式:new WorkBook()时,代码简单易懂,但是这种方式只能操作小文件,遇到大的文件就会报内存溢出的错.有问题就要解决,下面分享几种解决方式 第一种:只 ...
- java上传加密_Java上传下载文件并实现加密解密
使用 Jersey 服务器实现上传,使用 HTTP 请求实现下载 引入依赖 在 pom.xml 中添加 Jersey 相关依赖 com.sun.jersey jersey-client 1.18.1 ...
- vue element upload 控件用form-data上传方式导入xls文件
<!-- 导入---------------------------------------- --><el-uploadstyle="margin-right: 10px ...
- Struts2文件上传方式与上传失败解决方式
首先将几个对象弄出来 第一个 上传页面 第二个 上传action 第三个 startut2配置文件 我的文字描述不是很好,但是终归是自己写出来的,后来我在网上看到一篇关于文件上传描述的非常清楚的文章, ...
- java文件上传_Java文件上传细讲
什么是文件上传? 文件上传就是把用户的信息保存起来. 为什么需要文件上传? 在用户注册的时候,可能需要用户提交照片.那么这张照片就应该要进行保存. 上传组件(工具) 为什么我们要使用上传工具? 为啥我 ...
- Struts2 单个文件上传/多文件上传
1导入struts2-blank.war所有jar包:\struts-2.3.4\apps\struts2-blank.war 单个文件上传 upload.jsp <s:form action= ...
最新文章
- 美观实用!Star 过万,用 Python 做交互式图形的这款工具火了!
- Linux命令之du
- Windows2012R2服务器的安装与亮点功能介绍
- GC-ALLOC 的另一个重要作用,查内存泄漏
- 电脑端腾讯视频如何设置离线下载完成后自动关机
- poj3276 反转 挑战程序设计竞赛
- Hi3798M V200 SDK文档介绍
- 企业邮箱及邮件服务器架设
- (Deep learning)深度卷积网络实战——第一部分
- 《疯狂Python讲义》数字转人民币大写完整代码
- STC12C5A60S2独立PWM
- 积极主动沟通说话交流的重要性和案例以及技巧
- 运放自激震荡的大杂烩总结
- 【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01
- 面试技巧: 轻松过关10种方法
- 2020年的数据工程
- 神州租车确定将从港股退市:上半年亏43亿元,联想控股彻底退出
- linux修改盘符名
- python调用百度翻译-Python 调用百度翻译API
- python将英文字母排序_20191106-基于Python的对字母基数排序
热门文章
- 关于级数∑(x n-x n-1)一致收敛性的一点儿理解
- 英伟达发布全球唯一千万亿级集成型 AI 工作组服务器
- Windows XP安装Python,最高支持到3.4.4,后续版本不支持
- 机器学习入门方法推荐(少走弯路)入门视频推荐
- java 内存泄漏场景_Java内存泄露的例子
- 玩cf出现outofmemory_《穿越火线》的肖枫原型是CF选手白鲨吗?
- android小程序备忘录,撸一个会话备忘录的小程序
- php mescroll,mescroll下拉刷新和上拉加载js框架
- extjs 限制上传文件类型_如何让extjg 支持选择多文件上传
- 简述泛型的上界和下界?