
使用POI生成excel,然后直接生成流文件,前台页面直接弹出下载窗口,不需要先生成excel文本再下载,省时省力
ApachePOI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对MicrosoftOffice格式档案读和写的功能。.NET的开发人员则可以利用NPOI(POIfor.NET)来存取POI的功能。
poi导出excel基本步骤
第一步:引入所需的jar在工程项目lib目录下。
第二步:在点击导出页面设置一个事件触发servlet读出事先保存好的xsl文件;
<scripttype="text/javascript"charset="UTF-8"
functionexcel(){
window.location="exportExcel";?//“exportExcel”是一个servlet地址
}
</script
<inputtype="button"value="导出excel"onclick="excel()"
第三步:实现servlet
packagecom.zust.servlet;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.io.OutputStream;
importjava.io.PrintWriter;
importjava.util.List;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importcom.zust.excel.*;
importcom.zust.paper.Paper;
publicclassexportExcelextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
this.doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//获得项目服务器根路径
Stringpath=request.getSession().getServletContext().getRealPath("");
//把所有的路径的单斜杠替换成双斜杠
path=path.replace("\\","//");
gradesXLSxls=newgradesXLS(path);
List<Paperlist=(List<Paper)request.getSession().getAttribute("paperLit");
Booleanflag=?xls.CreateExcel(list);
OutputStreamo=response.getOutputStream();
byteb[]=newbyte;
//thefiletodownload.
FilefileLoad=newFile(path,"grades.xls");
//thedialogboxofdownloadfile.
response.setHeader("Content-disposition","attachment;filename="+"grades.xls");
//settheMIMEtype.
response.setContentType("application/vnd.ms-excel");
//getthefilelength.
longfileLength=fileLoad.length();
Stringlength=String.valueOf(fileLength);
response.setHeader("Content_Length",length);
//downloadthefile.
FileInputStreamin=newFileInputStream(fileLoad);
intn=0;
while((n=in.read(b))!=-1){
o.write(b,0,n);
}
}
}
第四部:servlet调用的方法:xls.CreateExcel(list);
packagecom.zust.excel;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.util.List;
importorg.apache.poi.hssf.usermodel.HSSFCell;
importorg.apache.poi.hssf.usermodel.HSSFRow;
importorg.apache.poi.hssf.usermodel.HSSFSheet;
importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
importcom.zust.paper.Paper;
publicclassgradesXLS{
privateStringpath;
//构造函数获取保存excel的路径
publicgradesXLS(Stringpath){
this.path=path;
}
publicBooleanCreateExcel(ListpaperList){
Booleanflag=true;
//创建一个工作簿
HSSFWorkbookworkBook=newHSSFWorkbook();
//创建一个工作表,名为:第一页
HSSFSheetsheet=workBook.createSheet("成绩表");
//设置单元格的宽度(0:表示第一行的第一个单元格,1:第一行的第二个单元格)
sheet.setColumnWidth((short)0,3500);
sheet.setColumnWidth((short)1,5000);
sheet.setColumnWidth((short)2,5000);
//创建一个单元格,从0开始
HSSFRowrow=sheet.createRow((short)0);
//构造一个数组设置第一行之后的单元格
HSSFCellcell[]=newHSSFCell;
for(inti=0;i<5;i++){
cell[i]=row.createCell(i);
}
cell.setCellValue("用户名");
cell.setCellValue("开始时间");
cell.setCellValue("结束时间");
cell.setCellValue("集体编号");
cell.setCellValue("总分");
//获得从数据库中查询出来的数据
if(paperList!=null&&paperList.size()0){
//循环list中的数据
for(inti=0;i<paperList.size();i++){
Paperp=(Paper)paperList.get(i);
HSSFRowdataRow=sheet.createRow(i+1);
HSSFCelldata[]=newHSSFCell;
for(intj=0;j<5;j++){
data[j]=dataRow.createCell(j);
}
data.setCellValue(p.getUsername());
data.setCellValue(p.getStarttime());
data.setCellValue(p.getEndtime());
if(p.getGroupno()!=-1){
data.setCellValue(p.getGroupno());
}else{
data.setCellValue("无");
}
data.setCellValue(p.getTotal());
try{
//输出成XLS文件
Filefile=newFile(path);
FileOutputStreamfos=newFileOutputStream(file+"\\grades.xls");
//写入数据,并关闭文件
workBook.write(fos);
fos.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
flag=false;
}catch(IOExceptione){
e.printStackTrace();
flag=false;
}
}
}
returnflag;
}
}
Tags:Excel.
AE骨骼关节绑定脚本BAO Joint滤镜插件 / 329.18MB / 2015-5-10 / WinAll / / aescripts / 小编点评:BAOJoint脚本是一款为AE用.
下载
简易脚本录制绿色版屏幕录像 / 682.84MB / 2013-4-30 / WinAll / / 小编点评:简易脚本录制是一款简单易用的键鼠脚.
下载
京东拍到家电脑版行业软件 / 621.22MB / 2015-12-16 / WinAll, Win7 / / 小编点评:京东拍到家电脑版是京东为阿宅们退出的一款神.
下载
文件加解密助手加密解密 / 353.39MB / 2016-5-3 / WinXP, WinAll / / 小编点评: 实用小工具,单个文件加解密助手
下载
账户密码安全管理器(Icecream Password Manager)密码相关 / 681.51MB / 2019-7-6 / WinAll / / Icecreamapps / 小编点评:IcecreamPasswordM.
下载
五一劳动节黑板报素材资料电子资料 / 728.59MB / 2017-6-3 / WinAll / / 小编点评:五一劳动节黑板报素材资料是一份五一劳动.
下载
WinMend File Splitter(文件分割器)文件处理 / 287.92MB / 2022-9-10 / WinAll, WinXP / / 小编点评:WinMendFileSplitter是一.
下载
限制精灵远程监控 / 168.16MB / 2011-2-14 / WinXP, WinAll / / 小编点评:比如输入我的电脑,按开始监测后别人就.
下载
魔法门的纷争1.78正式版游戏地图 / 632.86MB / 2021-4-2 / WinAll, WinXP, Win7, win8 / / 小编点评:魔法门的纷争1.78正式版是对抗地图魔法门的纷争.
下载
GBK与UTF编码批量转码工具V1.0下载 编程开发 / 727.4MB / 2013-1-11 / Win8,Win7,WinXP / 简体中文 / 免费软件 小编点评:软件介绍一款可以实现GBK与UTF批.
下载
SETE批量打印V5.2.15.1129下载 扫描打印 / 188.11MB / 2020-4-13 / Win8,Win7,WinXP / 简体中文 / 免费软件 小编点评:软件介绍SETE批量打印是一款工程文件批量打.
下载
蜗牛数学二年级V1.0.4下载 电脑学习 / 461.55MB / 2018-9-2 / Win8,Win7,WinXP / 简体中文 / 免费软件 小编点评:软件介绍蜗牛数学二年级小学一至二年.
下载
伊特进销存软件V5.1.13.820下载 商业贸易 / 352.56MB / 2016-9-30 / Win8,Win7,WinXP / 简体中文 / 免费软件 小编点评:软件介绍“伊特进销存软件”是面向中.
下载
钢琴伴侣最新版下载-钢琴伴侣app(piano companion pro)下载v6.55.325 安卓版
厨师之王破解版下载-厨师之王内购破解版下载v1.0.0 安卓版
抢滩登陆之刀锋行动游戏下载-抢滩登陆之刀锋行动手机版下载v1.0 安卓版
星之后裔永恒风暴最新版下载-星之后裔永恒风暴官方正版下载v4.3.0 安卓版
欢跃运动app最新版下载-欢跃运动手机客户端下载v1.0.1 安卓版
百惠通软件下载-百惠通app下载v1.1.0 安卓版
日韩电影大全下载-日韩电影app下载v1.3.7 安卓版
真香烧烤街下载安装-真香烧烤街小游戏下载v1.0 安卓版
毁灭地球模拟器官方正版游戏下载-毁灭地球模拟器2024最新版下载v1.0 安卓中文版
空间清理大师下载安装-空间清理大师app下载v1.0.0 安卓版
方田教育app下载-方田教育官方版下载v2.1.5 安卓版
东江月app下载-东江月官方版下载v1.0.1 安卓版
EasyBoot启动易(启动光盘制作)V6.6.0.800简体中文版下载
刻录软件 / 681.13MB / 2010-4-8 / Win8,Win7,WinXP / 简体中文 / 共享软件 下载
商贸财神医疗器材进销存软件2015下载
健康医药 / 680.96MB / 2017-12-30 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
Nidesoft iTunes Converter V2.4.46下载
视频转换 / 61.39MB / 2020-3-10 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
一点通票据打印软件V6.1.0.0下载
财务管理 / 162.21MB / 2015-6-24 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
起飞服务器V1.0.0下载
服务器类 / 846.46MB / 2015-8-10 / Win8,Win7,WinXP / 简体中文 / 免费软件 下载
Gilisoft Video Watermark Removal Tool下载-视频水印删除工具 v2020.02.22 中文版
视频编辑 / 567.90MB / 2022-10-15 / WinAll / 简体中文 / 免费软件 下载
口袋物流app下载-口袋物流 v1.9.3 安卓版
生活服务 / 251.74MB / 2019-7-21 / / 下载
华油车联app下载-华油车联 v1.0.162 安卓版
生活服务 / 556.99MB / 2012-1-6 / / 下载
果盘挂江湖手游下载-挂江湖果盘版下载v1.10 安卓版
卡牌游戏 / 569.34MB / 2011-7-19 / Android / 中文 / v1.10 安卓版 下载
我的门派试玩版下载-我的门派测试服下载v1.1.5 安卓官方版
角色扮演 / 106.27MB / 2018-5-10 / Android / 中文 / 上海游斐网络科技有限公司 / v1.1.5 安卓官方版 下载
旋转迷宫3d手机版下载-旋转迷宫3d游戏下载v2.0.4 安卓版
益智休闲 / 675.8MB / 2013-1-20 / Android / 中文 / v2.0.4 安卓版 下载
三国打boss游戏-三国打boss官方版(暂未上线)v1.0 安卓版
新游预告 / 56.97MB / 2011-4-29 / Android / 中文 / v1.0 安卓版 下载
神创大陆小米版下载-神创大陆小米客户端下载v1.0.50 安卓最新版
即时网游 / 33.57MB / 2013-2-30 / Android / 中文 / v1.0.50 安卓最新版 下载