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表格和预订的表格不相 ...
随机推荐
- linux内核(二)内核移植(DM365-DM368开发攻略——linux-2.6.32的移植)
一.介绍linux-2.6.32: Linux-2.6.32的网上介绍:增添了虚拟化内存 de-duplicacion.重写了 writeback 代码.改进了 Btrfs 文件系统.添加了 ATI ...
- 洛谷 2921 记忆化搜索 tarjan 基环外向树
洛谷 2921 记忆化搜索 tarjan 传送门 (https://www.luogu.org/problem/show?pid=2921) 做这题的经历有点玄学,,起因是某个random题的同学突然 ...
- vim 跳转指定行
在编辑模式下输入 ngg 或者 nG n为指定的行数(如25) 25gg或者25G 跳转到第25行. 在命令模式下输入行号n : n 如果想打开文件即跳转 vim +n FileName 查看当然光标 ...
- com.alibaba.fastjson.JSONPathException: expect '], but 'y'
今天遇到这样的一个错误 网上查找了各种资料,终于找到了报错的原因: String dataType = (String) JSONPath.eval(dataset.getSchema(), &quo ...
- [Angular] Set Metadata in HTTP Headers with Angular HttpHeaders
Besides sending (or requesting) the actual data to the server API, there’s also often the need to se ...
- PyQt: LineEdit的智能输入提示
使用的的类是QtGui.QCompleter from PyQt4 import QtGui,QtCore str = QtCore.QStringList(['a','air','airbus']) ...
- centos6.5配置SSH免password登录
创建新用户:useradd hadoop 设置password:passwd hadoop,输入自己想要的password就可以.之后su hadoop切换用户 改动主机名:vim /etc/sysc ...
- windowsclient崩溃分析和调试
本文介绍windows上崩溃分析的一些手段,顺便提多进程调试.死锁等. 1.崩溃分析过程 1.1 确认错误码 不管是用windbg还是用vs.首先应该注意的是错误码,而90%以上的崩溃都是非法訪问. ...
- swift学习第四章
// Playground - noun: a place where people can play import UIKit var age=100 //假设年龄不大于50的就会在这里断言,和之前 ...
- bzoj4823: [Cqoi2017]老C的方块(最小割)
4823: [Cqoi2017]老C的方块 题目:传送门 题解: 毒瘤题ORZ.... 太菜了看出来是最小割啥边都不会建...狂%大佬强强强 黑白染色?不!是四个色一起染,四层图跑最小割... 很 ...