javaweb jsp页面上传excel文件
servlet:
private static final long FILE_MAX_SIZE = 4 * 1024 * 1024;
if (!ServletFileUpload.isMultipartContent(request)) {
System.out.println("失败1");
}
String fileTempPath = this.getServletContext().getRealPath("/") + "filetemp";
File tempDir = new File(fileTempPath);
if (!tempDir.exists()) {
tempDir.mkdirs();
}
FileItemFactory factory = new DiskFileItemFactory(4096, tempDir);
ServletFileUpload sfu = new ServletFileUpload(factory);
sfu.setFileSizeMax(FILE_MAX_SIZE);
List<FileItem> fileItems = null;
try {
fileItems = sfu.parseRequest(request);
} catch (FileUploadException e) {
e.printStackTrace();
if (e instanceof SizeLimitExceededException) {
}
return;
}
if (fileItems == null || fileItems.size() == 0) {
System.out.println("失败2" );
return;
}
Workbook rwb;
try {
rwb = Workbook.getWorkbook(fileItems.get(0).getInputStream());
int sheetCount=rwb.getNumberOfSheets();
Sheet rs=rwb.getSheet(0);
int rows=rs.getRows(); //行
int cols=rs.getColumns(); //列 -- getCell(列,行)
System.out.println(rows+"-*-*-*-"+cols);
for (int i = 2; i < rows ; i++) {
Cell cell = rs.getCell(i, 0);
System.out.print(rs.getCell(0, i).getContents()+"-*-");
System.out.print(rs.getCell(1, i).getContents()+"-*-");
System.out.print(rs.getCell(2, i).getContents()+"-*-");
System.out.print(rs.getCell(3, i).getContents()+"-*-");
System.out.print(rs.getCell(4, i).getContents()+"-*-");
System.out.print(rs.getCell(5, i).getContents()+"-*-");
System.out.print(rs.getCell(6, i).getContents()+"-*-");
System.out.print(rs.getCell(7, i).getContents()+"-*-");
System.out.print(rs.getCell(8, i).getContents()+"-*-");
System.out.print(rs.getCell(9, i).getContents()+"-*-");
System.out.println();
}
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
fileItems.get(0).getInputStream().close();
}
jsp:
<script type="text/javascript">
function CheckExcel() {
var mime = document.getElementById('Excelfile').value;
mime = mime.toLowerCase().substr(mime.lastIndexOf("."));
if (!(mime == ".xls")) {
alert("请导入正确的EXCEL文件,仅支持xls格式!");
return false;
}
}
</script>
<body>
<form action="servlet/ExcelTest" enctype="multipart/form-data" method="post" onsubmit="return CheckExcel()">
<input type="file" name="Excelfile" onchange="CheckExcel(this)" id="Excelfile"/>
<input type="submit" value="读EXCEL"/>
</form>
</body>
javaweb jsp页面上传excel文件的更多相关文章
- java上传excel文件及解析
java上传excel文件及解析 CreateTime--2018年3月5日16:25:14 Author:Marydon 一.准备工作 1.1 文件上传插件:swfupload: 1.2 文件上 ...
- activity通过流程实例id动态获取流程图并展示在jsp页面上
提供的Service方法如下: Java /** * 获取当前任务流程图 * * @param processInstanceId * @return */ @Override public Inpu ...
- jsp+servlet上传excel并将数据导入到数据库表的实现方法
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- asp.net上传Excel文件到服务端进行读取
1.我们IIS是使用7.5,由于在网站中上传Excel文件到服务端进行数据读取时候出现读取失败情况.一开始以为是没有按照office软件问题,其实不然,因为server是64位操作系统,如果我们要使用 ...
- 从数据库提取数据通过jstl显示在jsp页面上
从数据库提取数据通过jstl显示在jsp页面上 1.ConnectDB.java连接数据库,把数据转换成list public class ConnectDB { private final stat ...
- ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据
ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...
- Django框架(上传Excel文件并读取)
博主今天整理下Django框架中上传Excel文件并读取 博主是要在管理平台中新增用例的维护功能,想着通过上传Excel文件来展示用例,下面是项目的路径图: 首先先建数据库模型 model.py 可以 ...
- Django中从本地上传excel文件并将数据存储到数据库
Django中从本地上传excel文件并将数据存储到数据库 一.前端界面 <div class="page-container"> <form action=&q ...
- js上传Excel文件
一.问题 需要在项目里添加一个上传excel文件的功能,因为其他同样的后台里面有上传文件的功能,第一反应就是想着直接用.了解了一下发现它是利用bootstrap的fileinput实现的,但是我怎么都 ...
随机推荐
- [TYVJ] P1015 公路乘车
公路乘车 描述 Description 一个特别的单行街道在每公里处有一个汽车站.顾客根据他们乘坐汽车的公里使来付费.例如样例的第一行就是一个费用的单子. 没有一辆车子行驶超过10公里,一个顾客打算行 ...
- pcduino通过USB方式刷机
最近买了块pcduino来玩,一开始也不知道怎么入手使用,就想先学着网上来刷机,可以用TF卡来刷机,也可以用U盘来刷机.由于手上只有优盘,所以采用了第二种方式.具体方法参考了网上. 本文非原创,原文来 ...
- No enclosing instance of type test8 is accessible. Must qualify the allocation with an enclosing instance of type test8 (e.g. x.new A() where x is an
在编译一个例子时,结果编译时出现: No enclosing instance of type test8 is accessible. Must qualify the allocation wit ...
- poj 3321
题目链接 题意:一开始1-n都有苹果,Q查询以x为根下存在多少. 树状数组+DFS+队列转换 这题纠结了2天,一开始一点思路都没有,看大神都是吧树状数组转换成队列来做 看了好久都不知道怎么转换的, 解 ...
- Raw qcow qcow2 vhd-vpc虚拟磁盘格式间相互转换
- mycat(4)
2016二月 24 置原 配置MyCat-eye 接下来在开始使用MyCat之前,我们先把监控平台部署好. 下载MyCat-eye项目,mvn打包. 之后得到类似于Mycat-web-1.0-SNAP ...
- Linux入门基础 #8:Linux拓展权限
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- Flashback Recovery Area的设置与取消
在Oracle 10g中, Flash back家族分为以下成员: Flashback Database, Flashback Drop,Flashback Query(分Flashback Quer ...
- NET中级课--设计模式1
1.分类 创建型 结构型 行为型 2.总体思路 使用接口和抽象类 3.创建型 工厂: 单例:整个系统中对象是唯一的或固定数目的对象如对象池 4.结构型
- android——仿网易今日头条等自定义频道listview 或者grideview等item上移到另一个view中
转载请注明出处: www.cnblogs.com/shoneworn 我这里只是简单的用了两个listview来实现的,先上效果图.比较粗糙.预留了自定义的空间. 思路: 从上图应该可以看的出来.就是 ...