展开全部

/**

* 出险信息导出到excel(fc)

* @param mapping

* @param form

* @param request

* @param response

* @throws IOException

*/

public void exportActoExcel(ActionMapping mapping, ActionForm form ,

HttpServletRequest request,HttpServletResponse response) throws IOException {

ActionErrors errors = new ActionErrors();

AcExcelBusi acBusi = new AcExcelBusi();

AccidentRecordForm arForm= (AccidentRecordForm) form;

AccidentRecordBusi arBusi = new AccidentRecordBusi();

// 查询条件

FwUsers sessUser = (FwUsers)request.getSession().getAttribute(ConstValues.SESS_USER_MANAGE);

Map cisMap = arBusi.getTodoPageList(arForm,sessUser,errors);

List AcList = null;// 当页的记录

if (null != cisMap) {

AcList = (List) cisMap.get("list");

}

//导出excel的路径、62616964757a686964616fe58685e5aeb931333363386232文件名

String uuid = UUID.create("exp");

String path = request.getSession().getServletContext().getRealPath("/") + ConstValues.EXP_PATH_EXCEL + uuid + ".xls";

acBusi.exprotAcExcel(AcList, path,request);

response.sendRedirect("stdownload.jsp?path=" + path );

}

/**

* 导出出险信息 fc

*

* @param jzForm

* 查询条件

* @param sessionUser

* 当前登录session用户

* @param errors

* Action错误

* @return

*/

public void exprotAcExcel(List list, String path,HttpServletRequest request) {

try {

WritableWorkbook workbook = Workbook.createWorkbook(new File(path));// 创建工作簿(filePos为excel文件的路径)

WritableSheet sheet = workbook.createSheet("出险信息", 0);// 创建工作页

// 内容(居中)单元格样式

WritableCellFormat contentStyle = new WritableCellFormat(); //

contentStyle.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式

contentStyle.setBorder(jxl.format.Border.ALL,

jxl.format.BorderLineStyle.THIN); // 设置边框

// 一级标题单元格样式

WritableFont wf1 = new WritableFont(WritableFont.ARIAL, 15,

WritableFont.BOLD, false); // 定义格式 字体 下划线 斜体 粗体 颜色

WritableCellFormat titleStyle1 = new WritableCellFormat(wf1); //

titleStyle1.setBackground(jxl.format.Colour.GREEN); // 设置单元格的背景颜色

titleStyle1.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式

titleStyle1.setBorder(jxl.format.Border.ALL,

jxl.format.BorderLineStyle.THIN); // 设置边框

// 二级标题单元格样式

WritableFont wf2 = new WritableFont(WritableFont.ARIAL, 11,

WritableFont.BOLD, false); // 定义格式 字体 下划线 斜体 粗体 颜色

WritableCellFormat titleStyle2 = new WritableCellFormat(wf2); //

titleStyle2.setBackground(jxl.format.Colour.GREY_25_PERCENT); // 设置单元格的背景颜色

titleStyle2.setAlignment(jxl.format.Alignment.CENTRE); // 设置水平对齐方式

titleStyle2

.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); // 设置垂直对齐方式

titleStyle2.setBorder(jxl.format.Border.ALL,

jxl.format.BorderLineStyle.THIN); // 设置边框

WritableCellFormat titleStyle3 = new WritableCellFormat(wf1); //

titleStyle3.setBackground(jxl.format.Colour.BRIGHT_GREEN); // 设置单元格的背景颜色

titleStyle3.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式

titleStyle3.setBorder(jxl.format.Border.ALL,

jxl.format.BorderLineStyle.THIN); // 设置边框

// 设置冻结单元格

sheet.getSettings().setVerticalFreeze(2);

sheet.getSettings().setHorizontalFreeze(5);

sheet.setColumnView(0, 8); // 设置列的宽度

sheet.setColumnView(1, 10); // 设置列的宽度

sheet.setRowView(0, 0);

sheet.addCell(new Label(0, 0, "hysj5800294*#", titleStyle1));// 标题

sheet.addCell(new Label(0, 1, "出险信息 ", titleStyle2));// 标题

sheet.mergeCells(0, 2, 33, 2); // 合并单元格

sheet.addCell(new Label(0, 2, "出险信息 ", titleStyle1));// 标题

sheet.addCell(new Label(0, 3, "序号", titleStyle2));// 往单元格中填写数据

sheet.addCell(new Label(1, 3, "省内/省外", titleStyle2));// 往单元格中填写数据

if (list != null && list.size() > 0) {

for (int i = 0; i < list.size(); i++) {

sheet.setRowView(i + 3, 300); // 设置行高

//转换数据信息

//Object[] obj = (Object[]) list.get(i);

AccidentRecord ar = (AccidentRecord) list.get(i);

sheet.addCell(new Label(0, i + 4, String.valueOf(i + 1),contentStyle));// 往单元格中填写数据 序号

sheet.addCell(new Label(1, i + 4, ar.getLicenceProvince().toString(),contentStyle));// 省内/省外

}

}

workbook.write();// 书写到工作簿

workbook.close();// 关闭工作簿,输出完成

} catch (Exception e) {

e.printStackTrace();

}

}

}

功能可以实现,可以到处,点击下载确定

打开已经下载的excel,如图显示结果。得到想要的结构,成功!

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

JAVA导出Excel到浏览器_java 怎么在浏览器中生成导出excel相关推荐

  1. java操作浏览器_java selenium 操作浏览器实例

    导读热词 本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 截图操作 模拟鼠标操作 杀掉Windows浏览器进程 浏览器最大化 前进,后退, 刷新 public s ...

  2. java怎么打开指定的浏览器_Java之——打开浏览器访问指定页面

    不多说,不废话,直接上代码,大家都懂得. package com.lyz.test; import java.awt.Desktop; import java.io.IOException; impo ...

  3. java 后台打开新页面_Java后台打开浏览器窗口

    package com.ibsp.utils; import java.io.IOException; import java.net.URISyntaxException; public class ...

  4. java工程编辑器中文乱码_Java Web开发项目中中文乱码解决方法汇总

    Java Web项目中,解决中文乱码方法总结如下 第一种情况:调用jsp页面中文显示乱码问题描述:通过浏览器调用jsp页面,在浏览器中显示的中文内容出现乱码. 解决方法:首先确认本jsp在编辑器中保存 ...

  5. java 删除数组指定元素_Java从在数组中删除指定元素

    package org.usc.action; import java.util.ArrayList; import java.util.Arrays; import java.util.List; ...

  6. java定时调度main方法_java相关:Spring中实现定时调度的几种方法

    java相关:Spring中实现定时调度的几种方法 发布于 2020-11-28| 复制链接 本篇文章主要介绍了Spring中实现定时调度示例,可以在无人值守的时候系统可以在某一时刻执行某些特定的功能 ...

  7. java 不能执行mysql存储过程_java无法执行mysql中的函数及存储过程的.sql备份文件...

    需求:用java程序执行[包含数据&结构&函数&存储过程]的.sql备份文件 问题记录: 1.在执行完insert类型的语句后,中文内容会显示乱码. 解决:将mysql参数中c ...

  8. java数组按照大小排列_Java怎么让数组中元素按照牌值从小到大的顺序排列

    展开全部 你说的这些牌是用数组来存放的,所以有些麻烦.直接复制运行,更改牌的62616964757a686964616fe58685e5aeb931333332643838数量测试,有不懂的再问我pa ...

  9. java删除集合元素吗_java如何删除集合中的元素

    java如何删除集合中的元素 如何使用java删除集合中的'元素呢?下面是小编给大家提供的删除集合中元素的常见方法,欢迎阅读,更多详情请关注应届毕业生考试网. Java代码如下: package co ...

最新文章

  1. python 设计模式 原型模式_python设计模式–原型模式
  2. Android_设备隐私获取,忽略6.0权限管理
  3. Google 正式开源 Jib ,帮助 Java 应用快速容器化
  4. GPS NMEA-0183标准数据介绍
  5. Eclipse自动生成作者、日期注释等功能设置
  6. PHP字体向右移动,CSS3如何实现文字向右循环闪过效果以及可在移动端使用的实例代码分享...
  7. 像打字一样插入图标-iconfont
  8. You need to use a Theme.AppCompat theme
  9. xmind 免费模板链接
  10. 全球诺贝尔奖得主最多的30所大学排名!
  11. 网页版php手机端怎么转wap页,【原创文章】介绍一个手机浏览器中ecshop WAP版和PC版自由切换的方法...
  12. iphone11屏比例_苹果11的屏幕分辨率是多少
  13. android设置UI界面背景,Android ROM定制——界面美化基础(framework-res、SystemUI修改)...
  14. 利用python读取excel中的公司名称获取公司的经营范围并回填进excel中
  15. 大疆精灵4航测输出正摄影和三维模型教程
  16. linux中touch命令如何使用,一天一个shell命令 linux文本操作系列-touch命令用法
  17. java not equal_Java CriteriaBuilder.notEqual方法代码示例
  18. SpringBoot整合Swagger
  19. python新手开发小游戏
  20. 软件项目管理第4版课后习题[附解析]第十章

热门文章

  1. 8086到80486的编号时代终结,第一次跻身财富500强和486阉割版处理器
  2. java178-终篇?静态代理?动态代理?
  3. 游戏中的Irradiance Volume
  4. 乐清举办国际传感技术高峰论坛
  5. 马哥linux运维15~25讲笔记(未更完)
  6. 【JAVA】 Integer变量为什么100 = 100为true,而1000 = 1000为false?
  7. 【附源码】Java计算机毕业设计创意摄影交流平台(程序+LW+部署)
  8. 马尾神经损伤是什么病?
  9. Tess4j 的简单使用
  10. 支付宝直付通 VS 微信收付通分账产品异同