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表格和预订的表格不相 ...
随机推荐
- BZOJ 3413 匹配 (后缀自动机+线段树合并)
题目大意: 懒得概括了 神题,搞了2个半晚上,还认为自己的是对的...一直调不过,最后终于在jdr神犇的帮助下过了这道题 线段树合并该是这道题最好理解且最好写的做法了,貌似主席树也行?但线段树合并这个 ...
- freeswitch 中文语音
1.下载中文语音包 链接:https://pan.baidu.com/s/1UODvqj8NAQw7_CRatfl0kg 提取码:qwdn 创建目录 /usr/local/freeswitch/sou ...
- jQuery 事件流的概念
jQuery 事件流的概念 什么是事件流 DOM事件流 1. 事件捕获阶段; 2.处于目标阶段; 3.事件冒泡阶段; <!DOCTYPE html> <html lang=&quo ...
- W10如何开启LinuxBash及安装Ubuntu
W10如何开启LinuxBash的功能 1)开启开发人员模式 2)启动部分windows功能 完成后重启系统 然后在cmd中输入bash按命令操作即可使用bash命令 3)下载安装ubuntu lxr ...
- shell 测试命令
一.使用 test 命令可以对文件.字符串等进行测试,一般配合控制语句使用. 1.字符串测试 test str1 = str2 //测试字符串是否相等 test str1 != str2 //测试字符 ...
- scrapy研究探索(二)——爬w3school.com.cn
下午被一个问题困扰了好一阵.终于使用还有一种方式解决. 開始教程二.关于Scrapy安装.介绍等请移步至教程(一)(http://blog.csdn.net/u012150179/article/de ...
- 应用Spring和Hibernate(C3P0数据池)写数据库交互项目
一.xml的配置文件(application.xml) <?xml version="1.0" encoding="UTF-8"?> <bea ...
- Python爬糗百热门20条并邮件分发+wxPython简易GUI+py2app转成可运行文件
学了一阵子Python,拿来做个什么有意思的东西呢?爬糗百好了.爬到的内容,邮件分发出去. 然后又啃了两天的wxpython,做了个简易的邮件管理界面,能够在这里添加或者删除邮件,而且一键爬虫发送. ...
- ThinkPHP5.0框架开发--第9章 TP5.0视图和模板
ThinkPHP5.0框架开发--第9章 TP5.0视图和模板 第9章 TP5.0视图和模板 ===================================================== ...
- CENTOS修改操作系统字符集
[root@localhost sysconfig]# cd /etc/sysconfig/ [root@localhost sysconfig]# vi i18n 修改并保存退出(:wq) LANG ...