`
myclover
  • 浏览: 195180 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JXL操作Excel的例子

    博客分类:
  • java
阅读更多
在实际项目中经常需要对一些汇总进行导出到Excel表格中,jxl是其中一种方式,下面以jxl导出Excel表格为例做一个导出的例子,代码如下所示:

package com.myclover.utils.file;

import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.VerticalAlignment;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;

public class ExcelStyleUtils {

	/**
	 * 功能描述:创建Excel文档标题字体对象
	 * 修改日期:2011-04-28
	 * @author myclover
	 * @param size  字体大小
	 * @return
	 * @throws Exception
	 */
	public static WritableFont titleFont(int size) throws Exception{
		WritableFont titleFont = new WritableFont(WritableFont.TAHOMA);
		titleFont.setBoldStyle(WritableFont.BOLD);
		titleFont.setColour(Colour.BLACK);
		titleFont.setPointSize(size);
		return titleFont;
	}
	
	/**
	 * 功能描述:创建Excel文档内容字体对象
	 * 修改日期:2011-04-28
	 * @author myclover
	 * @param size  字体大小
	 * @return
	 * @throws Exception
	 */
	public static WritableFont contentFont(int size) throws Exception{
		WritableFont titleFont = new WritableFont(WritableFont.TAHOMA);
		titleFont.setColour(Colour.BLACK);
		titleFont.setPointSize(size);
		return titleFont;
	}
	
	/**
	 * 功能描述:创建Excel文档标题单元格样式
	 * 修改日期:2011-04-28
	 * @author myclover
	 * @param align  对齐方式
	 * @param border 是否有边框
	 * @param size   字体大小
	 * @return
	 * @throws Exception
	 */
	public static WritableCellFormat titleCellFormat(Alignment align, boolean border, int size) throws Exception{
		WritableCellFormat titleFormat = new WritableCellFormat();
		titleFormat.setAlignment(null == align?Alignment.CENTRE:align);
		titleFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
		if(border){
			titleFormat.setBorder(Border.ALL, BorderLineStyle.THIN);
		}
		titleFormat.setFont(titleFont(size));
		titleFormat.setWrap(true);
		return titleFormat;
	}
	
	/**
	 * 功能描述:创建Excel文档内容单元格样式
	 * 修改日期:2011-04-28
	 * @author myclover
	 * @param align  对齐方式
	 * @param border 是否有边框
	 * @param size   字体大小
	 * @return
	 * @throws Exception
	 */
	public static WritableCellFormat contentCellFormat(Alignment align, boolean border, int size) throws Exception{
		WritableCellFormat contentFormat = new WritableCellFormat();
		contentFormat.setAlignment(null == align?Alignment.CENTRE:align);
		contentFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
		if(border){
			contentFormat.setBorder(Border.ALL, BorderLineStyle.THIN);
		}
		contentFormat.setFont(contentFont(size));
		contentFormat.setWrap(true);
		contentFormat.setShrinkToFit(true);
		return contentFormat;
	}
	
}




测试类如下所示:


package com.myclover.utils.file;

import java.io.File;
import java.io.FileOutputStream;

import jxl.Workbook;
import jxl.format.Alignment;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

import com.lowagie.text.Document;
import com.lowagie.text.Font;
import com.lowagie.text.Paragraph;
import com.lowagie.text.rtf.RtfWriter2;

public class TestDoc {

	/**
	 * @param args
	 */
	public static void main(String[] args) {		
		exportExcel("D:\\text.xls");
	}

public static void exportExcel(String fileName){
		try{
			WritableWorkbook book = Workbook.createWorkbook(new File(fileName));
			WritableSheet sheet = book.createSheet("开发人员名单", 0);
			// 设置各列宽度
			sheet.setColumnView(0, 10);
			sheet.setColumnView(1, 10);
			sheet.setColumnView(2, 15);
			sheet.setColumnView(3, 15);
			sheet.setColumnView(4, 15);
			sheet.setColumnView(5, 25);
			sheet.setColumnView(6, 15);
			sheet.setColumnView(7, 15);
			sheet.setColumnView(8, 20);
			sheet.setColumnView(9, 20);
			sheet.setColumnView(10, 10);
			
			// 设置行高
			sheet.setRowView(0, 500);
			sheet.setRowView(1, 500);
			
			// 第一行
			sheet.mergeCells(0, 0, 10, 0);
			Label label = new Label(0,0,"测试JXL操作Excel表格");
			label.setCellFormat(ExcelStyleUtils.titleCellFormat(null, false, 16));
			sheet.addCell(label);
			
			// 第二行
			sheet.mergeCells(0, 1, 10, 1);
			Label line2 = new Label(0,1,"2011年4月28日");
			line2.setCellFormat(ExcelStyleUtils.titleCellFormat(Alignment.RIGHT, false, 14));
			sheet.addCell(line2);
			
			// 第三行
			sheet.addCell(new Label(0, 2, "姓名", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			sheet.addCell(new Label(1, 2, "性别", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			sheet.addCell(new Label(2, 2, "出生年月", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			sheet.addCell(new Label(3, 2, "参加工作时间", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			sheet.addCell(new Label(4, 2, "毕业时间", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			sheet.addCell(new Label(5, 2, "毕业院校及专业", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			sheet.addCell(new Label(6, 2, "专业职称", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			sheet.addCell(new Label(7, 2, "工作职称", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			sheet.addCell(new Label(8, 2, "工作职务", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			sheet.addCell(new Label(9, 2, "特长", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			sheet.addCell(new Label(10, 2, "备注", ExcelStyleUtils.titleCellFormat(null, true, 12)));
			
			// 循环输出内容
			int line = 3;
			int counts = 0;
			for(int i = 1 ; i <= 15 ; i++){
				sheet.mergeCells(0, line, 10, line);
				sheet.addCell(new Label(0, line, ++counts + "、" + "开发部门_" + i, ExcelStyleUtils.titleCellFormat(Alignment.LEFT, true, 12)));
				line++;
				for(int j = 0 ; j < 3 ; j++){
					sheet.addCell(new Label(0, line, "开发_" + j, ExcelStyleUtils.contentCellFormat(null, true, 10)));
					String sex = "男";
					if(j == 2 || i % 2 == 0){
						sex = "女";
					}
					sheet.addCell(new Label(1, line, sex, ExcelStyleUtils.contentCellFormat(null, true, 10)));
					sheet.addCell(new Label(2, line, 1980+i-j+"年" + (3+ j) +"月"+(i + j)+"日", ExcelStyleUtils.contentCellFormat(null, true, 10)));
					sheet.addCell(new Label(3, line, 2000+i-j+"年" + (3+ j) +"月"+(i + j)+"日", ExcelStyleUtils.contentCellFormat(null, true, 10)));
					sheet.addCell(new Label(4, line, 1996+i-j+"年7月1日", ExcelStyleUtils.contentCellFormat(null, true, 10)));
					sheet.addCell(new Label(5, line, "大学本科", ExcelStyleUtils.contentCellFormat(null, true, 10)));
					sheet.addCell(new Label(6, line, "java开发工程师", ExcelStyleUtils.contentCellFormat(null, true, 10)));
					sheet.addCell(new Label(7, line, "Java研发", ExcelStyleUtils.contentCellFormat(null, true, 10)));
					sheet.addCell(new Label(8, line, "各种PM", ExcelStyleUtils.contentCellFormat(null, true, 10)));
					sheet.addCell(new Label(9, line, "Java、J2EE、SQL、SSH、JBPM", ExcelStyleUtils.contentCellFormat(null, true, 10)));
					sheet.addCell(new Label(10, line, "各种技术牛人", ExcelStyleUtils.contentCellFormat(null, true, 10)));
					line++;
				}
			}
			
			book.write();
			book.close();
		}catch(Exception e){
			e.printStackTrace();
		}
	}

}

  • jxl.jar (708.2 KB)
  • 下载次数: 26
分享到:
评论

相关推荐

    jxl导出excel 完整例子工程

    jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程 jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程

    JXL读写Excel小例子

    在这个"JXL读写Excel小例子"中,我们将深入探讨如何使用JXL库来操作Excel数据。 首先,为了开始使用JXL,你需要将其添加到你的项目依赖中。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    JXL读写Excel例子demo

    在"JXL读写Excel例子demo"中,我们将探讨如何利用JXL库来处理Excel数据。这个示例程序包含了一个名为"Jxl读写Excel例子demo.jxl.jar"的库文件,它是JXL库的实现,可以集成到Java项目中以处理Excel文件。 JXL库提供...

    jxl操作excel文件例子

    标题“jxl操作excel文件例子”指的是利用JXL库进行Excel文件处理的实际应用。描述中提到的“通过jxl操作excel,简单方便”,暗示了JXL库的一个关键优点——简洁易用的API,使得对Excel文件的操作变得相当直观。 JXL...

    jxl操作excel实例,jxl jar包下载

    本文将详细介绍如何使用`jxl`库进行Excel操作,并提供一个简单的实例。 首先,`jxl.jar`是`jxl`库的主要组件,你需要将其添加到你的项目类路径中。这可以通过将`jxl.jar`放在`lib`目录下或在IDE(如Eclipse、...

    java poi jxl 操作excel的小例子

    - 相比于 POI,JXL 的API更加简单易用,适合小型项目或简单的Excel操作。 接下来,我们将详细介绍如何使用这些库进行Excel操作。 ### 创建Excel文件: - 使用 POI,你可以通过创建 `Workbook` 对象开始创建新的...

    Jxl读写Excel例子demo(2)

    本示例“Jxl读写Excel例子demo(2)”将详细解释如何利用jxl.jar库进行Excel文件的操作。 首先,我们需要理解Jxl库的核心概念。Jxl提供了对Excel文件格式的全面支持,包括单元格类型(文本、数字、日期等)、样式...

    jxl操作Excel 的具体例子

    本教程将深入讲解如何使用JXL库在Java中实现Excel文件的操作。 首先,确保已将JXL库添加到项目依赖中。如果使用Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;net.sourceforge.jexcelapi&lt;/groupId&gt;...

    jxl实现excel导出完整的例子

    jxl实现excel导出完整的例子!虽然这个不是和数据库没有联系但是请放心我保证你看了我的这个例子后绝对会自己做出和数据库连接的例子!有事联系我们共同探讨 QQ:376707296

    使用jxl导出Excel表的好例子

    `jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Microsoft Excel文件。本篇文章将深入探讨如何利用`jxl`库来创建和导出Excel表格。 首先,我们需要在项目中引入`jxl`库。如果你的项目是Maven项目,...

    jxl导出excel工具类

    首先,`jxl`库提供了对Excel文件的读写支持,包括工作簿(Workbook)、工作表(Worksheet)、行(Row)和单元格(Cell)等对象的创建和操作。通过这些对象,我们可以自由地构造Excel表格内容。 在描述中提到的“jxl...

    使用jxl解析excel(.xls)固定模板(智联简历为例)

    JXL库是一个广泛使用的开源库,它允许开发者读写Microsoft Excel格式的文件,包括.xls格式。本教程将深入讲解如何使用JXL库解析Excel中的固定模板,以智联招聘的简历模板为例进行说明。 首先,确保你的项目已经引入...

    JXL 读取EXCEL

    首先,JXL提供了对Excel文件的全面支持,包括工作簿(Workbook)、工作表(Worksheet)、单元格(Cell)等对象的创建和操作。它支持多种单元格类型,如字符串、数字、日期、公式等,并且可以处理Excel的样式,如字体...

    jxl读写excel数据,输出图片

    综上所述,JXL库为Java开发者提供了强大而便捷的Excel操作功能,无论是读取数据、写入数据还是插入图片,都能得心应手。通过熟悉这些基本操作,你可以轻松地实现Excel文件的自动化处理,提高工作效率。在实际应用中...

    jxl模版生成excel

    8. **jxls-examples-0.9.5-sources.jar**:这是一个包含jxls库源代码的例子包,可以帮助开发者深入理解jxl的内部工作机制,以及如何编写使用jxl的代码。 总的来说,jxl是一个强大的工具,适用于需要在Java应用中...

    JXL导出excel的示例及文档

    这个库在Java编程中非常有用,因为Java原生并不支持直接操作Excel,而JXL提供了方便的接口来实现这一功能。在本示例中,我们将探讨如何使用JXL导出Excel以及JXL的API文档。 1. **JXL的基本用法** - **创建工作簿...

    poi jxl 操作excel 所需jar包

    在本话题中,我们将重点关注“poi jxl”这两个库,它们是Java操作Excel的重要工具,而“poi.jar”是其中的关键组件。 首先,Apache POI是一个开源项目,它提供了一个API,使得开发者可以使用Java来创建、修改和显示...

    java利用jxl生成excel文件

    Java使用JXL库生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们...JXL提供了广泛的API来处理各种复杂的Excel操作,是Java环境下生成Excel文件的一个实用工具。

    用JXL读写excel到数据库实例

    使用jxl,读写excel数据进数据库的例子。 需要jxl.jar、poi-2.0-final-20040126.jar、mysql-connector-java-3.0.8-stable-bin.jar、jakarta-poi-1.5.1-final-20020615.jar。

    java 操作Excel jxl poi 有例子

    在Java编程环境中,处理Excel文件是一项常见的任务,无论是读取数据、写入数据还是进行复杂的格式操作。在Java中,有多个库可以帮助我们实现这一目标,其中最常用的两个是JXL和Apache POI。这两个库都提供了丰富的...

Global site tag (gtag.js) - Google Analytics