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表格和预订的表格不相 ...
随机推荐
- [Codeforces 226E]Noble Knight's Path
题目大意:有一棵n个节点的树,m年.初始每个节点都有.每天有如下操作:1. 给定c,让c没有(c只可能没有一次).2. 给定s,t,k,y,求从第y+1年到现在(即忽略y+1年之前的操作1),s到t的 ...
- python_传递任意数量的实参
'''def name(*args): #python创建一个空元组,将收到的所有值都封装在这个元组中 """打印所有姓名""" for i ...
- ES学习——分析器和自定义分析器
简介 es在对文档进行倒排索引的需要用分析器(Analyzer)对文档进行分析.建立索引.从文档中提取词元(Token)的算法称为分词器(Tokenizer),在分词前预处理的算法称为字符过滤器(Ch ...
- ASP.NET-HTTP响应标头
Reponse Headers 理论上所有的响应头信息都应该是回应请求头的.但是服务端为了效率,安全,还有其他方面的考虑,会添加相对应的响应头信息,从上图可以看到: Cache-Control:mus ...
- HDU1863_畅通project【Prim】【并查集】
畅通project Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- Oracle数据库经常使用经典查询
本文收集了经常使用的数据库查询.须要数据库管理员权限: 1. 查询暂时表空间使用情况 SELECT TABLESPACE_NAME, TABLESPACE_SIZE / 1024 / 1024 TAB ...
- JavaFX学习之道:JavaFX之TableView
TableView表 TableColumn列 构建一个表主要有TableView,TableColumn,ObservableList,Bean. 加入列table.getColumns ...
- spring web mvc第一天
spring web mvc 感觉就是高大上啊!啥都是配置文件就能够了.所以第一步就是弄清楚配置文件使用和总体框架的流程! Spring web mvc最重要的当然是Controller,也就是首先 ...
- 怎样訪问pcie整个4k的配置空间
眼下用于訪问PCIe配置空间寄存器的方法须要追溯到原始的PCI规范. 为了发起PCI总线配置周期,Intel实现的PCI规范使用IO空间的CF8h和CFCh来分别作为索引和数据寄存器,这样的方法能够訪 ...
- php设计模式之责任链模式
php设计模式之责任链模式 实际问题 你的论坛有举报功能,版主能解决粗口方面的举报,警察能解决严重一点的黄赌毒方面的举报,更严重的反政府的举报就需要由国安局来完成. 职场中每个人都有直属的上级,如果到 ...