poi实现excel模板下载和批量导入

更新时间:2023-07-01 06:45:20 阅读: 评论:0

poi实现excel模板下载和批量导⼊
Excel的批量导⼊相信是很多软件绕不过去的功能吧。使⽤poi实现Execl模板下载和批量导⼊的功能特此记录⼀下。先上结果
界⾯的代码如下。
<fieldt class="layui-elem-field">
<div class="layui-field-box">
<form action="uploadSubjectExcel.action" method="post" enctype="multipart/form-data"> <div>
<table>
<thead>
<tr>
<td>下载模版:</td>
<td><button type="button"class="layui-btn layui-btn-small"
onclick="downloadTemplate()">点击下载导⼊模版</button></td>
killers
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>民有民治民享
</tr>
<tr>
<td>上传⽂件:</td>
<td><input type="file" id ="myfile"  name="myfile"></td>
</tr>
</thead>
</table>
</div>
<div class="modal-footer" >
<input type="submit" value="上传"class="layui-btn layui-btn-big"/>小学英文作文
pea</div>
</form>nichen
</div>
</fieldt>
<script type="text/javascript">
function downloadTemplate(){
window.location.href ="downloadSubjectExecl.action";
}
</script>
这⾥使⽤的是layui,这个界⾯是通过⼀个点击这个⽂件按钮弹出⼀个界⾯实现的。
弹出js如下。
下载模板功能具体实现。
public void downloadStudentExcel(HttpServletRespon respon, HttpServletRequest request)thro
ws IOException {  String excelPath = Session().getServletContext().getRealPath("/template/"+"student.xls");
String fileName ="student.xls".toString();// ⽂件的默认保存名
// 读到流中
InputStream inStream;
try{
inStream =new FileInputStream(excelPath);// ⽂件的存放路径
// 设置输出的格式
<();
respon.tContentType("bin");
respon.addHeader("Content-Disposition",
"attachment;filename="+ de("student.xls","UTF-8"));
// 循环取出流中的数据
byte[] b =new byte[200];
int len;
while((len = ad(b))>0){
}
inStream.clo();
}catch(IOException e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
上传⽂件功能实现。
public ModelAndView uploadExcelStudent(@RequestParam(value ="myfile", required =fal) MultipartFile myfile,
HttpServletRequest request, HttpServletRespon respon, HttpSession ssion)throws Exception {
String errorMsg;
if(myfile == null || myfile.isEmpty()){
errorMsg ="您上传的⽂件为空";
ssion.tAttribute("errorMsg", errorMsg);
return new ModelAndView("admin/error.jsp");
}
String fileNameTemp = OriginalFilename();
if(!dsWith("xls")&&!dsWith("xlsx")){
errorMsg ="您上传的⽂件不是Excel ⽂件";
ssion.tAttribute("errorMsg", errorMsg);
return new ModelAndView("admin/error.jsp");
}
String sid;
String sname;
学习 英语
myturnString sgrade;
InputStream is = InputStream();
Workbook wk = ate(is);
/
/ Workbook wk = new XSSFWorkbook(is);
// 获取第⼀张
Sheet sheet = wk.getSheetAt(0);
// 遍历⾏Row
for(Row row : sheet){
RowNum()==0){
continue;
}el{
英语四级各部分分值sid = Cell(0).getStringCellValue();
sname = Cell(1).getStringCellValue();
sgrade = Cell(2).getStringCellValue();
reviewersasi.inrtStudent(sid, sname, sgrade);
}
}
return new ModelAndView("admin/success.jsp");
收回英语}
模板⽂件存放路径
在这⾥需要注意的是⽂件的上传功能。
form上⼀定加 enctype=“multipart/form-data” 。这个的意思是enctype就是encodetype就是编码类型的意思。multipart/form-data是指表单数据有多部分构成,既有⽂本数据,⼜有⽂件等⼆进制数据的意思。

本文发布于:2023-07-01 06:45:20,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1071680.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:下载   数据   模板   实现   功能   部分   意思
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图