jexcelapi学习笔记一

在实际WEB项目开发过程中,常常需要我们开发WEB报表的功能,下面我们就学习一下两种常用的处理Excel表格的开源解决方案:Apache POI和JExcelApi(Jxl)的基本应用。

首先我们学习Jxl的用法:

1.jExcelApi开发环境的基本配置

首先从网站上下载jExcelApi,可以从这个下载地址http://sourceforge.net/projects/jexcelapi/files/jexcelapi/下载。例如下载版本为2.6.12JExcelApi,下载下来的文件为:jexcelapi_2_6_12.zip,解压后文件目录如下图:



其中docs目录下是API参考文档,src目录下是整个JExcelAPi的源代码,jx1.jar这个文件就是JExcelAPi打包的类库文件,如果要在项目中使用JExcelAPi只需要把jx1.jar文件的路径加入classpath中或项目lib目录下,对jxl更详细的分析请见:

http://www.cnblogs.com/xd502djj/archive/2011/08/15/2139394.html

 

2. JXL特点: 

1) 读取Excel95,97,2000,2003的数据;
2) 读取和写入Excel97及以后版本的公式;
3) 生成Excel2000,2003格式的电子表格;
4) 支持对字体,数字,日期的格式化; 
5) 支持对单元格加阴影和加色彩; 
6) 修改存在的工作表;
7) 支持图片的创建;
8) 日志记录可以定制;

3.Jxl 局限性: 
JExcelApi不能够生成和读取图表的信息;
这个信息当图表被拷贝的时候仍然保存;
当增加一个图片到表中,仅仅PNG格式被支持。

 

4.生成简单的Excel文件的示例:

 

	public static void createExcel(OutputStream os) throws IOException,
			RowsExceededException, WriteException
	{
		// 创建工作区
		WritableWorkbook workbook = Workbook.createWorkbook(os);
		// 创建新的一页,sheet只能在工作簿中使用
		WritableSheet sheet = workbook.createSheet("test sheet1", 0);

		// 通过函数WritableFont()设置字体样式
		// 第一个参数表示所选字体
		// 第二个参数表示字体大小
		// 第三个参数表示粗体样式,有BOLD和NORMAL两种样式
		// 第四个参数表示是否斜体,此处true表示为斜体
		// 第五个参数表示下划线样式
		// 第六个参数表示颜色样式,此处为Red
		WritableFont wf = new WritableFont(WritableFont.TIMES, 18,
				WritableFont.BOLD, true, UnderlineStyle.NO_UNDERLINE,
				Colour.RED);
		CellFormat cf = new WritableCellFormat(wf);
		// 创建单元格即具体要显示的内容,new Label(0,0,"用户") 第一个参数是column 第二个参数是row
		// 第三个参数是content,第四个参数是可选项,为Label添加字体样式
		WritableCell employee = new Label(0, 0, "雇员", cf);
		// 通过sheet的addCell方法添加Label,注意一个cell/label只能使用一次addCell
		sheet.addCell(employee);
		WritableCell sex = new Label(1, 0, "性别");
		sheet.addCell(sex);
		// 将内容写到输出流中,然后关闭工作区,最后关闭输出流
		workbook.write();
		workbook.close();
		os.close();
	}

 其中红色部分非常重要,write()方法是用于生成一个Excel文档,close()方法则用于使生成的Excel文档有效,否则不调用close()的话将会导致生成的Excel文档在打开时提示“文件的格式与扩展名指定的格式不一致”,如下图:


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值