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实现的,但是我怎么都 ...
随机推荐
- angular--bootstrap实例日期控件【datepicker】
head部分: <!--Bootstrap--> <link rel="stylesheet" href="/supProdom/script/boot ...
- window下配置ssh key
在windows下通过msysGit(Git for windows.Git Bash)配置SSH Keys连接GitHub. 1.检查本机是否有ssh key设置 $ cd ~/.ssh 或cd . ...
- JAVA实现实用的ZIP压缩与解压
http://blog.csdn.net/z69183787/article/details/38555913
- 这样就算会了PHP么?-10
关于基本的文件读写内容: <?php echo "readfile function:<br>"; readfile("tm.txt"); e ...
- LeetCode_Pascal's Triangle
Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Retu ...
- 常用IC封装技术介绍
1.BGA(ball grid array)球形触点陈列,表面贴装型封装之一.在印刷基板的背面按陈列方式制作出球形凸点用 以 代替引脚,在印刷基板的正面装配LSI 芯片,然后用模压树脂或灌封方法进行密 ...
- .NET 使用unity实现依赖注入
原文地址:http://www.cnblogs.com/wujy/p/3317795.html 一:理论部分 依赖注入:这是 Ioc 模式的一种特殊情况,是一种基于改变对象的行为而不改变类的内部的接口 ...
- 利用jquery表格添加一行并在每行第一列大写字母显示实现方法
表格添加一行并在每行第一列大写字母显示jquery实现方法 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN& ...
- SNMP配置和常用命令OID(转)
博文转至:http://blog.csdn.net/susu09new/article/details/12835191 OID值表示的意义(中文) .1.3.6.1.2.1.1操作系统相关的信息,其 ...
- 【编译原理】语法分析LL(1)分析法的FIRST和FOLLOW集
近来复习编译原理,语法分析中的自上而下LL(1)分析法,需要构造求出一个文法的FIRST和FOLLOW集,然后构造分析表,利用分析表+一个栈来做自上而下的语法分析(递归下降/预测分析),可是这个FIR ...