java用jxl实现导出execl表格
//先将需要导出的数据放到list中
//然后将list中的数据放到execl表中
@RequestMapping(params="exportExecl")
public String exportExecl( HttpServletRequest request) throws IOException{
List<Lanmu> list=new ArrayList<Lanmu>();
list=lanmuBiz.findLmxx();
int sure = ExcelUtils.createExcel(list,request);//生成execl
if(sure==200){
File file=new File("F://myeclipse+tomcat+jdk//apache-tomcat-7.0.26//webapps//Manage_ssm//exportLanmuExcel");
Desktop.getDesktop().open(file);//打开文件所在位置
return "redirect:lmxx.do?findLmxx"; }else{
return "view/luntan/errorExcel";
}
}
public class ExcelUtils {
private static final int SUCCESS = 200;
private static final int FAIL = 500;
public static int createExcel(List<Lanmu> list, HttpServletRequest req) {
try {
String path = "/exportLanmuExcel";
path = req.getSession().getServletContext().getRealPath(path);
File file = new File(path);
if(!file.exists()){
file.mkdirs();
}
OutputStream os = new FileOutputStream(path + "/" + "lanmuList" + ".xls");
//创建工作薄
WritableWorkbook workbook = Workbook.createWorkbook(os);
//创建新的一页
WritableSheet sheet = workbook.createSheet("First Sheet", 0);
//构造表头
sheet.mergeCells(0, 0, 2, 0);//添加合并单元格,第一个参数是起始列,第二个参数是起始行,第三个参数是终止列,第四个参数是终止行
WritableFont bold = new WritableFont(WritableFont.ARIAL,12,WritableFont.BOLD);//设置字体种类和黑体显示,字体为Arial,字号大小为10,采用黑体显示
WritableCellFormat titleFormate = new WritableCellFormat(bold);//生成一个单元格样式控制对象
titleFormate.setAlignment(jxl.format.Alignment.CENTRE);//单元格中的内容水平方向居中
titleFormate.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//单元格的内容垂直方向居中
Label title = new Label(0,0,"lanmuList",titleFormate);
sheet.setRowView(0, 600, false);//设置第一行的高度
sheet.addCell(title);
//设置每一列的宽度
for(int i=0;i<=2;i++){
sheet.setColumnView(i, 15);
}
//创建要显示的具体内容
WritableFont color = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD);//选择字体
WritableCellFormat colorFormat = new WritableCellFormat(color);
Label a1 = new Label(0,1,"序号",colorFormat);
sheet.addCell(a1);
Label a2 = new Label(1,1,"栏目名称",colorFormat);
sheet.addCell(a2);
Label a3 = new Label(2,1,"栏目状态",colorFormat);
sheet.addCell(a3);
//获取数据,将数据赋值到execl表格中
for (int i = 2; i < list.size()+2; i++) {
Lanmu ap = list.get(i-2);
int xh = i-2;
String name = ap.getName();
String state=ap.getState();
if("1".equals(state)){
state = "普通用户栏目";
}else{
state = "管理员栏目";
}
// 创建第一个sheet
Label b1 = new Label(0,i,xh+"");
sheet.addCell(b1);
Label b2 = new Label(1,i,name);
sheet.addCell(b2);
Label b3 = new Label(2,i,state);
sheet.addCell(b3);
}
//把创建的内容写入到输出流中,并关闭输出流
workbook.write();
workbook.close();
os.close();
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return FAIL;
}
}
}
java用jxl实现导出execl表格的更多相关文章
- Java操作Jxl实现导出数据生成Excel表格数据文件
实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...
- java利用poi来读取execl表格返回对象
利用poi来读取execl表格,返回一个对象(可能有点不完善,但是应该能满足平常的所用),用到了反射等等; 使用的jar包有: commons-collections4-4.1.jar poi-3.1 ...
- java中使用poi导出excel表格数据并且可以手动修改导出路径
在我们开发项目中,很多时候会提出这样的需求:将前端的某某数据以excel表格导出,今天就给大家写一个简单的模板. 这里我们选择使用poi导出excel: 第一步:导入需要的jar包到 lib 文件夹下
- java struts jxl 导入导出Excel(无模板)
jar包: import javax.servlet.http.HttpServletResponse; import java.io.OutputStream; import java.io.Fil ...
- java使用jxl,自动导出数据excle,quartz自动发送邮件
=============JAVA后台代码===================== package com.qgc.service.autoSendMsg.AutoSendMsg import ja ...
- java中使用 POI导出excel表格的简单实现
大概流程分7步: 1.创建工作簿 --> 2.创建sheet表 --> 3.创建row行(建议使用循环) --> 4.用row行逐一创建单元格(建议使用循环) --> 5.单元 ...
- MVC 导出Execl 的总结几种方式 (一)
在ASP.NET 中导出Execl 表格有很多方式,有利有弊,就是看自己怎么使用了:下面就是自己总结了几种导出Execl 方式的,仅供参考. 导出Execl 的原理都是一样的,其实都是将数据整合成ta ...
- java中使用jxl导出Excel表格详细通用步骤
该方法一般接收两个参数,response和要导出的表格内容的list. 一般我们将数据库的数据查询出来在页面进行展示,根据用户需求,可能需要对页面数据进行导出. 此时只要将展示之前查询所得的数据放入s ...
- Java读取Execl表格数据
在前面提到用java代码新建一个Execl 表格并添加数据到表格中, 这次写了一个读取Execl表格数据并添加导数据库中的案列 给定对方一个Execl模板表格,如果导入的Execl表格和预订的表格不相 ...
随机推荐
- 九、frp对外提供简单的文件访问服务
通过 static_file 插件可以对外提供一个简单的基于 HTTP 的文件访问服务.类似于http的文件索引! 服务端frps.ini配置[common]bind_addr = 0.0.0.0bi ...
- PHP算法之四大基础算法
前言 虽然工作中,你觉得自己并没有涉及到算法这方面的东西,但是算法是程序的核心,一个程序的好与差,关键是这个程序算法的优劣,所以对于冒泡排序.插入排序.选择排序.快速排序这四种基本算法,我想还是要掌握 ...
- js常用事件及事件对象
- java JSON 和 Object 相互转换
1.导入 jackson jar <dependency> <groupId>com.fasterxml.jackson.core</groupId> <ar ...
- NYIST 677 碟战
碟战时间限制:2000 ms | 内存限制:65535 KB难度:4 描述知己知彼,百战不殆!在战争中如果被敌人掌握了自己的机密,失败是必然的.K国在一场战争中屡屡失败,就想到自己的某些城市可能会有敌 ...
- UVA 11404 Palindromic Subsequence
Palindromic Subsequence Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVA ...
- .C#-NET开源方向基本
我的理解,nancyFx是一个.net的微型框架,可以在Linux环境下运行,ServiceStack也是全平台框架,更大一些 owin的概念:Open Web Server Interface Fo ...
- 晋IT分享成长沙龙集锦
第一期"晋IT"分享成长沙龙于2014年7月19日圆满结束.下面是相关内容整理和第二期预告. 各位伙伴认真的介绍自己,介绍自己的业务,分析自己眼下存在的问题,大家一起探讨,真诚出谋 ...
- 一些.NET 项目中经常使用的类库
Web自己主动化測试 Watin Selenium Selenium git .net 集合类扩展实现C5 Subscriber/Publisher 模式 Rx Nats 防御式编程 断言库 流 ...
- Educational Codeforces Round 6 C. Pearls in a Row set
C. Pearls in a Row There are n pearls in a row. Let's enumerate them with integers from 1 to n from ...