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报表完美程序版"很可能是包含了一个完整的解决方案,用于创建具有表头、表内容和表统计列的Excel报表。下面将详细讨论JXL库的关键功能和如何在Java中使用它来实现这些特性。 1. **JXL库的基本概念**:...
**JXL报表制作工具详解** JXL,全称为Java Excel API,是一款开源的Java库,专为处理Microsoft Excel文件而设计。它允许开发者在Java应用程序中读取、写入和修改Excel工作簿,无需依赖Excel应用程序本身。在企业级...
**JXL报表制作详解** JXL(Java Excel API)是一个流行的开源库,它允许Java开发者读写Microsoft Excel文件。在本篇文章中,我们将深入探讨如何使用JXL进行报表制作,并结合一个实例,来理解JXL封装类的用法,简化...
【标题】"jxl报表 代码应用"涉及的是在Java编程环境中使用jxl库来创建和处理Excel报表的实践案例,特别关注的是如何在SSH(Struts、Hibernate、Spring)框架下集成jxl进行数据展示。 【描述】"jxl实现的SSH架构的...
"jxl报表导入导出"是一个基于jxl库实现的功能,它允许开发者读取、写入和修改Excel文件,从而方便地进行数据操作。jxl库是一个开源的Java库,专门用于与Microsoft Excel文件进行交互,支持版本从Excel 97到2007。 1...
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”这个主题涵盖了使用Java的JXL库创建和处理Excel报表的核心步骤,包括从数据库获取数据,对数据进行排序,以及使用JXL的API在Excel文件中写入和格式...
本文将深入探讨`jxl`报表库以及如何结合`jsoup`进行报表的导入和解析。`jxl`是一个广泛使用的Java库,专门用于处理Excel文件,而`jsoup`则是一个强大的HTML解析器,可以用于解析XML格式的数据,包括高版本的Excel...
本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心文件,你需要将其添加到项目的类路径中。如果你使用的是Maven或者Gradle,...
本文将详细探讨`jxl`库在导出Excel报表方面的应用,以及如何利用它来实现一个简单的报表生成过程。 首先,我们需要了解`jxl`库的基本结构。`jxl`库提供了多种类和接口,如`Workbook`、`Sheet`、`Cell`等,它们分别...
"jxl预览和打印报表"是一种利用开源Java库——jxl来实现的功能,它能够帮助开发者高效地处理Excel格式的数据,进行报表的生成、预览以及打印操作。下面将详细阐述这一技术的知识点。 首先,jxl库是一个强大的Java ...
使用JXL库创建类似的报表: ```java import jxl.*; Workbook workbook = new HSSFWorkbook(); Sheet sheet = workbook.createSheet("Sheet1"); WritableRow row = sheet.createRow(0); WritableCell cell =...
在IT行业中,生成Excel报表是常见的数据展示和分析任务,而JXL库为Java开发者提供了一个强大且便捷的解决方案。JXL,全称Java Excel API,是一个开源的Java库,专为读取、写入以及修改Excel文件设计。它允许程序员在...
java报表JXL和POI打印设置
标题中的“jxl读取Excel报表”指的是利用jxl库来操作Excel文件,特别是从Excel文件中提取数据以进行分析或进一步处理。以下是对这个主题的详细讲解: 首先,`jxl.jar`是jxl库的主要组件,它支持读取和写入Microsoft...
总的来说,JXL库是Java开发者处理Excel文件的理想选择,无论你是需要读取Excel数据进行分析,还是构建数据导入导出系统,甚至是生成复杂的报表,JXL都能提供强大而全面的支持。通过熟练掌握JXL,你将能够更高效地与...
JavaScript作为客户端的主要编程语言,可以提供丰富的交互性,而JXL则是一个用于处理Excel文件的Java库,两者结合能够帮助我们创建动态的、用户定制的报表。 首先,我们需要了解JavaScript的基础知识。JavaScript是...
### Java 报表 JXL 和 POI 打印设置详解 在Java开发中,经常需要处理Excel文件,尤其是在报表系统中。JXL 和 POI 是两个常用的库来操作Excel文件。其中,对于打印功能的支持是必不可少的一个环节。本文将详细介绍...
标题中的“jxls报表生成利器,比起jxl,poi牛逼得很”暗示了本文将讨论在Java环境下生成Excel报表的工具,重点在于jxls和Apache POI库的对比。jxls是一个基于Apache POI的扩展库,使得在处理Excel模板时更加方便高效...