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实现的,但是我怎么都 ...
随机推荐
- 懂说话,让冲突、尴尬时刻都bye-bye
回忆一下自己从小到大的成长历程,你容不容易交到新朋友?在不熟悉的社交场合中,你是否也曾面临坐立难安.不知从何聊起的窘境?事实上,无论身处学校或社会,担任职务是基础或高阶,终其一生都会派上用场的能力,就 ...
- POJ 2152 Fire(树形DP)
题意: 思路:令F[i][j]表示 的最小费用.Best[i]表示以i为根节点的子树多有节点都找到负责消防站的最小费用. 好难的题... #include<algorithm> #incl ...
- shell 脚本FTP自动上传文件
下面的脚本 会把本地的文本文件压缩后, 上传到FTP服务器上. 里面有一点小逻辑, 就是上传的文本文件 是 日期时间.txt 形式的, 一天写一个日志文件, 今天的文件不上传, 只上传 老的日志文件. ...
- UDP数据接收服务器
简介 这是我在做一个要用UDP方式进行数据传输时,自己写的一个多线程的UDP数据接收服务器, 它能将接收到的UDP数据包存成文件,并提供数据包接收时间监测: 还支持键盘命令响应,以将数据写到新的文件, ...
- cf446A DZY Loves Sequences
A. DZY Loves Sequences time limit per test 1 second memory limit per test 256 megabytes input standa ...
- VS如何关闭 ReSharper 提示
IDE->工具->选项->click "suspend now" button
- HDU4171--bfs+树
第一开始想成了DP.尼玛后来才发现只有N条边,那就简单了.. 从起点S遍历整棵树,从某点跳出来回到终点T,问最短路长度.然而从某点跳出时走过的路径是一个定值.... 长度为整棵树的边长和sum*2-d ...
- Python 协程(gevent)
协程,又叫微线程,协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈.因此: 协程能保留上 ...
- 在OC和Swift中使用IBDesignable/IBInspectable
iOS8新特性IBDesignable/IBInspectable,可以直接在XIB或者Storyboard中直接,设置UI类的属性.例 如:UIView.layer.borderWidth.bord ...
- 涂抹Oracle笔记1-创建数据库及配置监听程序
一.安装ORACLE数据库软件及创建实例OLTP:online transaction processing 指那些短事务,高并发,读写频繁的数据库系统.--DB_BLOCK_SIZE通常设置较小.O ...