Java 实现导出excel表

为了方便系统用户需要

操作方法

  • 01

    /** * 出险信息导出到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<String,Object> cisMap = arBusi.getTodoPageList(arForm,sessUser,errors); List AcList = null;// 当页的记录 if (null != cisMap) { AcList = (List) cisMap.get("list"); } //导出excel的路径、文件名 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 ); }

  • 02

    /** * 导出出险信息 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(); } } }

  • 03

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

  • 04

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

(0)

相关推荐

  • java实现导出excel文件

    在web开发中,有一个经典的功能,就是数据的导入导出.特别是数据的导出,在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作.而数据导出的格式一般是EXCEL,我这里就给大家介 ...

  • 怎样将MySQL数据导出到Excel表中

    我们会经常使用到MySQL数据库,而数据库中的数据会经常性的进行更改,我们怎样将数据导入到EXCEL表中,使数据不会丢失呢?这个小渔今天就做了一个尝试,特来与大家分享. 操作方法 01 首先,我们需要 ...

  • excel2json软件使用方法(Excel表快速转换成JSON字符串)

    把Excel表单转换成json对象,并保存到一个文本文件中,并支持生成C# class数据定义代码. 把Excel表单转换成json对象,并保存到一个文本文件中. 表格格式见:ExampleData. ...

  • 如何从access中导出excel表格

    从access中导出excel表格,现在就分享操作的步骤和截图,希望对你有所帮助. 操作方法 01 首先启动access2010,执行文件-打开命令,打开一个数据库. 02 从左边的表中选择一个表,双 ...

  • 怎么将word中的excel表导出来

    有时候我们收到别人的word文档,发现是以插入对象的方式将excel表导入到了word中,如果我们想把word中的excel表格导出来成为一个单独的文件,应该怎么操作呢?请看下文. 操作方法 01 打 ...

  • 钉钉怎么导出考勤表

    又到一个月考勤统计日,钉钉考勤的数据怎么导出呢,试一次就知道. 操作方法 01 管理员登录网页管理后台,进入[考勤打卡] 02 在考勤统计下打开[月度汇总] 03 在考勤时间中点击选择要导出考勤表的开 ...

  • 如何使用SQL Server命令BCP 导入导出EXCEL数据

    sql语句导出sever中的数据到Excel中 操作方法 01 SQL Server BCP 导入导出使用 Bcp 导出导入数据高效,比使用SQL Server Management Stdio 提供 ...

  • win7 64位系统web项目导出excel问题分析及解决方法汇总

    最近在web项目中做了一个导出Excel功能。在导出的时候报错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败。 一 ...

  • Excel表导入 Access 2010 后时间显示错误的解决方法步骤

    在 Access 2010 中导入了一个 Excel 表,导入时选择的是“通过创建链接表来链接到数据源”。导入后发现原本在 Excel 中正确显示的日期和时间都变成了数值,且数据类型无法修改。如下图所 ...