public String outPutExcel(ModelMap model, HttpServletRequest request,
HttpServletResponse response) {
//获取时间区域
String timeArea = request.getParameter("timeArea");
String keyword = request.getParameter("keyword");
String select = request.getParameter("select");
//获取操作类型
String operate = request.getParameter("operate");
// File file = new File("daily.xls");
try {
OutputStream os = response.getOutputStream();// 取得输出流
response.reset();// 清空输出流
response.setHeader("Content-disposition", "attachment; filename="
+ new String("daily".getBytes("GB2312"),
"iso8859_1") + ".xls");// 设定输出文件头
response.setContentType("application/msexcel");// 定义输出类型
WritableWorkbook workbook = Workbook.createWorkbook(os);
if (workbook != null) {
WritableSheet sheet = workbook.createSheet("sheet1", 0);
// 设置标题 sheet.addCell(new jxl.write.Label(列(从0开始), 行(从0开始), 内容.));
try {
sheet.addCell(new Label(0, 0, "区域名"));
sheet.addCell(new Label(1, 0, "所在位置"));
sheet.addCell(new Label(2, 0, "操作人员"));
sheet.addCell(new Label(3, 0, "时间"));
sheet.addCell(new Label(4, 0, "操作类型"));
sheet.addCell(new Label(5, 0, "备注"));
// 设置单元格的宽度
sheet.setColumnView(0, 20);
sheet.setColumnView(1, 40);
sheet.setColumnView(2, 15);
sheet.setColumnView(3, 30);
sheet.setColumnView(4, 15);
sheet.setColumnView(5, 20);
//添加数据
List<SysActionLog> list = this.getSysActionLogs(timeArea, keyword, select,
operate);
SysActionLog log = null;
for (int r = 0; r < list.size(); r++) { //行编号
log = list.get(r);
//区域名
sheet.addCell(new Label(0, r + 1, log.getFilealia()));
//所在位置
sheet.addCell(new Label(1, r + 1, log.getFilename()));
//操作人员
sheet.addCell(new Label(2, r + 1, log.getAuthor()));
//时间
sheet.addCell(new Label(3, r + 1, log.getFormatDate()));
//操作类型
sheet.addCell(new Label(4, r + 1, log.getSysAction().getMessage()));
//备注
sheet.addCell(new Label(5, r + 1, log.getComment()));
}
//从内存中写入文件中
workbook.write();
//关闭资源,释放内存
workbook.close();
/*response.reset();
FileInputStream f = new FileInputStream(file);
byte[] fb = new byte[f.available()];
f.read(fb);
response
.setHeader("Content-disposition", "attachment; filename="
+ new String("daily.xls"
.getBytes("gb2312"), "iso8859-1"));
ByteArrayInputStream bais = new ByteArrayInputStream(fb);
int b;
while ((b = bais.read()) != -1) {
response.getOutputStream().write(b);
}
response.getOutputStream().flush();
//删除服务器上的文件
file.deleteOnExit();*/
} catch (RowsExceededException e) {
logger.error("sheet不存在", e);
} catch (WriteException e) {
logger.error("创建列名出错", e);
}
}
} catch (IOException e) {
logger.error("文件创建出错", e);
}
return "daily.vm";
}
分享到:
相关推荐
jxl数据导入导出jxl数据导入导出jxl数据导入导出 jxl数据导入导出jxl数据导入导出jxl数据导入导出
jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程 jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程
利用jxl实现数据库内容导出到Excel表格中,压缩文件里包括jxl.jar包、例子源代码、txt文档代码
JXL 将内容导入到Excel中 ,一个小例子 , 内有详细注释。
JXL(Java Excel API)是一个用来动态读写Excel文件的开源框架,利用它可以在任何支持Java的操作系统上动态读写Excel文件。
使用jxl导出Excel表的好例子 导出excel表的例子
jxl实现excel导出完整的例子!虽然这个不是和数据库没有联系但是请放心我保证你看了我的这个例子后绝对会自己做出和数据库连接的例子!有事联系我们共同探讨 QQ:376707296
jxl导入导出excel 详细的描述了如何使用jxl导入导出excel。
java版本通过JXL使用模板导出EXCEL
源程序不需做任何修改,只要将jar包导入到项目中就可以运行了。
jxl导出excel加水印 WritableWorkbook、WritableSheet、WritableCellFormat
JXL操作EXCEL 数据库导出EXCEL相关文件一些详细资料
使用jxl方式实现Excel表格导出,非常简单而且实用
使用Java的jxl方式导出到Excel。
jxl导出excel工具类,封装好了的,实现传递任意集合自动导出excel
NULL 博文链接:https://xurichusheng.iteye.com/blog/1863479
绝对不会让你失望。自己找了好多帮助才实现的哦,希望对你有帮助。互相学习
java_Jxl(导入导出Excel).pdf
封装了一个简单易用、通用、动态的从数据库导出到Excel的方法,可以动态的指定导出那些列,显示什么名字,按什么顺序显示;支持本地文件存储和JSP/Servlet文件下载。
功能:java将数据导出到Excel表格