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实现的,但是我怎么都 ...
随机推荐
- 十个iOS面试问题
十个iOS面试问题 十个iOS面试问题.不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的好机会. ...
- apache window环境下本地配置虚拟主机
1.在httpd.conf中去掉如下注释: # Virtual hostsInclude conf/extra/httpd-vhosts.conf 2.在 httpd-vhosts.conf添加内容 ...
- 开心菜鸟系列学习笔记------javascript(5)
一.this的关系 1)全局代码中的this 2)函数代码中的this在函数代码中使用this时很有趣,这种情况很难且会导致很多问题. 这种类型的代码中,this值的首要特点(或许是最主要 ...
- keil c51编译器的一些使用心得
现在的存储器已经不像七八年前那样昂贵了,但是ram相对于rom和eeprom的价格还是不可同样看待的,所以程序中节省内存在现在看来还是非常关键的.原因有以下几点: 1.ram的存取速度相对于eepro ...
- winform程序中Label自动换行
参考的是网上这篇文章:http://www.cnblogs.com/qb371/archive/2011/09/20/2366310.html 不过貌似注释有点问题,我的代码如下,我是将label放在 ...
- libeXosip2(1-1) -- How-To initialize libeXosip2.
How-To initialize libeXosip2. The eXtented eXosip stack Initialize eXosip and prepare transport laye ...
- 【CF 549G Happy Line】排序
题目链接:http://codeforces.com/problemset/problem/549/G 题意:给定一个n个元素的整数序列a[], 任意时刻对于任一对相邻元素a[i-1]. a[i],若 ...
- sae-v2ex 一个运行在SAE上的类似v2ex的轻型python论坛 - 技术讨论 - 云计算开发者社区 - Powered by Discuz!
sae-v2ex 一个运行在SAE上的类似v2ex的轻型python论坛 - 技术讨论 - 云计算开发者社区 - Powered by Discuz! sae-v2ex 一个运行在SAE上的类似v2e ...
- .NET 面试题(1)
1.简述 private. protected. public. internal 修饰符的访问权限. private:私有成员,在类的内部才能访问 protected:保护成员,在该类内部和继承本类 ...
- 【iOS开发-66】QQ设置界面的案例:利用storyboard开发静态的tableView界面,核心是Static Cells
(1)效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Vpc3ViYW8=/font/5a6L5L2T/fontsize/400/fill/I0JB ...