`
阅读更多
public void generateXls()
    {
        try
        {
            /** *//** **********创建工作簿************ */
            WritableWorkbook workbook = Workbook.createWorkbook(new File("d:/test.xls"));
            /** *//** **********创建工作表************ */
            WritableSheet sheet = workbook.createSheet("工作表名称", 0);

            /** *//** *********设置列宽**************** */
            sheet.setColumnView(0, 15); // 第1列
            sheet.setColumnView(1, 18); // 第2列
            sheet.setColumnView(2, 13);
            sheet.setColumnView(3, 13);
            sheet.setColumnView(4, 15);
            sheet.setColumnView(5, 15);
            //设置行高
            sheet.setRowView(0, 600, false);
            sheet.setRowView(1, 400, false);
            sheet.setRowView(7, 400, false);
            //设置页边距
            sheet.getSettings().setRightMargin(0.5);
            //设置页脚
            sheet.setFooter("", "", "测试页脚");
            /** *//** ************设置单元格字体************** */
            //字体
            WritableFont NormalFont = new WritableFont(WritableFont.ARIAL, 10);
            WritableFont BoldFont = new WritableFont(WritableFont.ARIAL, 14,
                    WritableFont.BOLD);
            WritableFont tableFont = new WritableFont(WritableFont.ARIAL, 12,
                    WritableFont.NO_BOLD);
            WritableFont baodanFont = new WritableFont(WritableFont.ARIAL, 10,
                    WritableFont.BOLD);

            /** *//** ************以下设置几种格式的单元格************ */
            // 用于标题
            WritableCellFormat wcf_title = new WritableCellFormat(BoldFont);
            wcf_title.setBorder(Border.NONE, BorderLineStyle.THIN); // 线条
            wcf_title.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_title.setAlignment(Alignment.CENTRE); // 水平对齐
            wcf_title.setWrap(true); // 是否换行

            // 用于表格标题
            WritableCellFormat wcf_tabletitle = new WritableCellFormat(
                    tableFont);
            wcf_tabletitle.setBorder(Border.NONE, BorderLineStyle.THIN); // 线条
            wcf_tabletitle.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_tabletitle.setAlignment(Alignment.CENTRE); // 水平对齐
            wcf_tabletitle.setWrap(true); // 是否换行

            // 用于正文左
            WritableCellFormat wcf_left = new WritableCellFormat(NormalFont);
            wcf_left.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条
            wcf_left.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_left.setAlignment(Alignment.LEFT);
            wcf_left.setWrap(true); // 是否换行

            // 用于正文左
            WritableCellFormat wcf_center = new WritableCellFormat(NormalFont);
            wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条
            wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_center.setAlignment(Alignment.CENTRE);
            wcf_center.setWrap(true); // 是否换行

            // 用于正文右
            WritableCellFormat wcf_right = new WritableCellFormat(NormalFont);
            wcf_right.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条
            wcf_right.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_right.setAlignment(Alignment.RIGHT);
            wcf_right.setWrap(false); // 是否换行

            // 用于跨行
            WritableCellFormat wcf_merge = new WritableCellFormat(NormalFont);
            wcf_merge.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条
            wcf_merge.setVerticalAlignment(VerticalAlignment.TOP); // 垂直对齐
            wcf_merge.setAlignment(Alignment.LEFT);
            wcf_merge.setWrap(true); // 是否换行

            WritableCellFormat wcf_table = new WritableCellFormat(NormalFont);
            wcf_table.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条
            wcf_table.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_table.setAlignment(Alignment.CENTRE);
            wcf_table.setBackground(Colour.GRAY_25);
            wcf_table.setWrap(true); // 是否换行

            /** *//** ************单元格格式设置完成****************** */
            //合并单元格,注意mergeCells(col0,row0,col1,row1) --列从0开始,col1为你要合并到第几列,行也一样
            sheet.mergeCells(0, 0, 5, 0);

            sheet.addCell(new Label(0, 0, "这里是大标题,自定义格式",
                    wcf_title));

            sheet.mergeCells(0, 1, 1, 1);
            sheet.mergeCells(2, 1, 5, 1);

            sheet.addCell(new Label(0, 1, "", wcf_center));
            sheet.addCell(new Label(2, 1, "姓名:" + "supercrsky",
                    wcf_center));

            sheet.mergeCells(0, 2, 1, 2);
            sheet.mergeCells(2, 2, 3, 2);

            sheet.addCell(new Label(0, 2, "单位:", wcf_center));
            sheet.addCell(new Label(2, 2, "ChinaLong", wcf_center));
            sheet.addCell(new Label(4, 2, "薪水", wcf_center));
            sheet.addCell(new Label(5, 2, "5000", wcf_center));

            sheet.mergeCells(0, 3, 1, 3);
            sheet.mergeCells(2, 3, 3, 3);

            sheet.addCell(new Label(0, 3, "性别:", wcf_center));
            sheet.addCell(new Label(2, 3, "男", wcf_center));
            sheet.addCell(new Label(4, 3, "婚否:", wcf_center));
            sheet.addCell(new Label(5, 3, "否", wcf_center));

            sheet.mergeCells(0, 4, 1, 4);
            sheet.mergeCells(2, 4, 3, 4);

            sheet.addCell(new Label(0, 4, "是否在职:", wcf_center));
            sheet.addCell(new Label(2, 4,"是",
                    wcf_center));
            sheet.addCell(new Label(4, 4,"工作经验:", wcf_center));
            sheet.addCell(new Label(5, 4, "4",wcf_center));

            sheet.mergeCells(0, 5, 1, 5);
            sheet.mergeCells(2, 5, 3, 5);

            sheet.addCell(new Label(0, 5, "保险费:", wcf_center));
            sheet.addCell(new Label(2, 5,"50",
                    wcf_center));
            sheet.addCell(new Label(4, 5, "保险金额:", wcf_center));
            sheet.addCell(new Label(5, 5, "50000",
                    wcf_center));

            sheet.mergeCells(0, 6, 1, 6);
            sheet.mergeCells(2, 6, 3, 6);

            sheet.addCell(new Label(0, 6, "工作地点:", wcf_center));
            sheet.addCell(new Label(2, 6, "北京", wcf_center));
            sheet.addCell(new Label(4, 6, "开心度:", wcf_center));
            sheet.addCell(new Label(5, 6, "一般", wcf_center));

            // 另起一table
            sheet.mergeCells(0, 7, 5, 7);
            sheet.addCell(new Label(0, 7, "详细数据", wcf_tabletitle));
            // table标题
            sheet.addCell(new Label(0, 8, "序号", wcf_table));
            sheet.addCell(new Label(1, 8, "姓名", wcf_table));
            sheet.addCell(new Label(2, 8, "年龄", wcf_table));
            sheet.addCell(new Label(3, 8, "性别", wcf_table));
            sheet.addCell(new Label(4, 8, "婚否", wcf_table));
            sheet.addCell(new Label(5, 8, "在职", wcf_table));
            // table内容
            //这里用你的dao
            TestDAO dao = new TestDAO();
            List list = dao.findBy(user.getUserId());
            System.out.println("此保单拥有防疫码数量:" + list.size());
            for (int i = 0; i < list.size(); i++)
            {
                //对应你的vo类
                User data = (User) list.get(i);

                sheet.addCell(new Label(0, 9 + i, String.valueOf(i + 1),
                        wcf_center));
                sheet.addCell(new Label(1, 9 + i, data.getDlEPCode(),
                        wcf_center));
                sheet
                        .addCell(new Label(2, 9 + i, data.getDlType(),
                                wcf_center));
                sheet.addCell(new Label(3, 9 + i, String.valueOf(data
                        .getDlPigAge()), wcf_center));
                sheet.addCell(new Label(4, 9 + i, "", wcf_center));
                sheet.addCell(new Label(5, 9 + i, "", wcf_center));
            }
            /** *//** **********以上所写的内容都是写在缓存中的,下一句将缓存的内容写到文件中******** */
            workbook.write();
            /** *//** *********关闭文件************* */
            workbook.close();
            System.out.println("导出成功");
            // 存放url地址
        } catch (Exception e)
        {
            System.out.println("在输出到EXCEL的过程中出现错误,错误原因:" + e.toString());
        }
    }
分享到:
评论

相关推荐

    JAVA JXL报表完美程序版

    这个"JAVA JXL报表完美程序版"很可能是包含了一个完整的解决方案,用于创建具有表头、表内容和表统计列的Excel报表。下面将详细讨论JXL库的关键功能和如何在Java中使用它来实现这些特性。 1. **JXL库的基本概念**:...

    jxl报表制作工具

    **JXL报表制作工具详解** JXL,全称为Java Excel API,是一款开源的Java库,专为处理Microsoft Excel文件而设计。它允许开发者在Java应用程序中读取、写入和修改Excel工作簿,无需依赖Excel应用程序本身。在企业级...

    jxl报表制作的例子

    **JXL报表制作详解** JXL(Java Excel API)是一个流行的开源库,它允许Java开发者读写Microsoft Excel文件。在本篇文章中,我们将深入探讨如何使用JXL进行报表制作,并结合一个实例,来理解JXL封装类的用法,简化...

    jxl报表 代码应用

    【标题】"jxl报表 代码应用"涉及的是在Java编程环境中使用jxl库来创建和处理Excel报表的实践案例,特别关注的是如何在SSH(Struts、Hibernate、Spring)框架下集成jxl进行数据展示。 【描述】"jxl实现的SSH架构的...

    jxl报表导入导出

    "jxl报表导入导出"是一个基于jxl库实现的功能,它允许开发者读取、写入和修改Excel文件,从而方便地进行数据操作。jxl库是一个开源的Java库,专门用于与Microsoft Excel文件进行交互,支持版本从Excel 97到2007。 1...

    jxl 生成报表 读取报表

    String template=System.getProperty("user.dir")+"\\src\\template.xls";//模板文件 String book=System.getProperty("user.dir")+"\\src\\book.xls"; Workbook wb=Workbook.getWorkbook(new File(template))...

    Excel之JXL 报表 java

    总结来说,“Excel报表JXL类型 报表 从数据库解析 读取 排列 java”这个主题涵盖了使用Java的JXL库创建和处理Excel报表的核心步骤,包括从数据库获取数据,对数据进行排序,以及使用JXL的API在Excel文件中写入和格式...

    jxl报表,报表导入解析,jsoup报表解析

    本文将深入探讨`jxl`报表库以及如何结合`jsoup`进行报表的导入和解析。`jxl`是一个广泛使用的Java库,专门用于处理Excel文件,而`jsoup`则是一个强大的HTML解析器,可以用于解析XML格式的数据,包括高版本的Excel...

    java使用jxl打印excel报表文件

    本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心文件,你需要将其添加到项目的类路径中。如果你使用的是Maven或者Gradle,...

    jxl导出报表

    本文将详细探讨`jxl`库在导出Excel报表方面的应用,以及如何利用它来实现一个简单的报表生成过程。 首先,我们需要了解`jxl`库的基本结构。`jxl`库提供了多种类和接口,如`Workbook`、`Sheet`、`Cell`等,它们分别...

    jxl预览和打印报表

    "jxl预览和打印报表"是一种利用开源Java库——jxl来实现的功能,它能够帮助开发者高效地处理Excel格式的数据,进行报表的生成、预览以及打印操作。下面将详细阐述这一技术的知识点。 首先,jxl库是一个强大的Java ...

    poi jxl 生成EXCEL 报表

    使用JXL库创建类似的报表: ```java import jxl.*; Workbook workbook = new HSSFWorkbook(); Sheet sheet = workbook.createSheet("Sheet1"); WritableRow row = sheet.createRow(0); WritableCell cell =...

    JXL生成excel报表

    在IT行业中,生成Excel报表是常见的数据展示和分析任务,而JXL库为Java开发者提供了一个强大且便捷的解决方案。JXL,全称Java Excel API,是一个开源的Java库,专为读取、写入以及修改Excel文件设计。它允许程序员在...

    java报表JXL和POI打印设置

    java报表JXL和POI打印设置

    jxl读取Excel报表

    标题中的“jxl读取Excel报表”指的是利用jxl库来操作Excel文件,特别是从Excel文件中提取数据以进行分析或进一步处理。以下是对这个主题的详细讲解: 首先,`jxl.jar`是jxl库的主要组件,它支持读取和写入Microsoft...

    jxl.zip_excel_jxl_jxl.biff.drawing.dg_jxl.biff.drawingdg

    总的来说,JXL库是Java开发者处理Excel文件的理想选择,无论你是需要读取Excel数据进行分析,还是构建数据导入导出系统,甚至是生成复杂的报表,JXL都能提供强大而全面的支持。通过熟练掌握JXL,你将能够更高效地与...

    利用javascript和jxl实现自定义报表的输出

    JavaScript作为客户端的主要编程语言,可以提供丰富的交互性,而JXL则是一个用于处理Excel文件的Java库,两者结合能够帮助我们创建动态的、用户定制的报表。 首先,我们需要了解JavaScript的基础知识。JavaScript是...

    java报表JXL和POI打印设置 java 生成excel 设置打印

    ### Java 报表 JXL 和 POI 打印设置详解 在Java开发中,经常需要处理Excel文件,尤其是在报表系统中。JXL 和 POI 是两个常用的库来操作Excel文件。其中,对于打印功能的支持是必不可少的一个环节。本文将详细介绍...

    jxls报表生成利器,比起jxl,poi牛逼得很

    标题中的“jxls报表生成利器,比起jxl,poi牛逼得很”暗示了本文将讨论在Java环境下生成Excel报表的工具,重点在于jxls和Apache POI库的对比。jxls是一个基于Apache POI的扩展库,使得在处理Excel模板时更加方便高效...

Global site tag (gtag.js) - Google Analytics