`
fuhao9611
  • 浏览: 85376 次
  • 性别: Icon_minigender_1
  • 来自: 陕西 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

JXL使用总结

阅读更多
年前项目是使用jxl来处理报表,由于对于jxl第一次使用,所以查阅无数资料,现在项目完毕,我将jxl作个总结。
JXLExample.java:
package com.xinli;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import jxl.*;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.CellFormat;
import jxl.write.Boolean;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class JXLExample {

	/**
	 * 
	 * @author fuhao
	 * 
	 */
	public static void main(String[] args) {
		// 准备设置excel工作表的标题
		String[] title = {"编号","产品名称","产品价格","产品数量","生产日期","产地","是否出口"};
		try {
			// 获得开始时间
			long start = System.currentTimeMillis();
			// 输出的excel的路径
			String filePath = "c:\\test.xls";
			// 创建Excel工作薄
			WritableWorkbook wwb;
			// 新建立一个jxl文件,即在C盘下生成test.xls
			OutputStream os = new FileOutputStream(filePath);
			wwb=Workbook.createWorkbook(os); 
			// 添加第一个工作表并设置第一个Sheet的名字
			WritableSheet sheet = wwb.createSheet("产品清单", 0);
			Label label;
			for(int i=0;i<title.length;i++){
				// Label(x,y,z)其中x代表单元格的第x+1列,第y+1行, 单元格的内容是y
				// 在Label对象的子对象中指明单元格的位置和内容
				label = new Label(i,0,title[i]);
				// 将定义好的单元格添加到工作表中
				sheet.addCell(label);
			}
			// 下面是填充数据
			/* 
			 * 保存数字到单元格,需要使用jxl.write.Number
			 * 必须使用其完整路径,否则会出现错误
			 * */
			// 填充产品编号
			jxl.write.Number number = new jxl.write.Number(0,1,20071001);
			sheet.addCell(number);
			// 填充产品名称
			label = new Label(1,1,"金鸽瓜子");
			sheet.addCell(label);
			/*
			 * 定义对于显示金额的公共格式
			 * jxl会自动实现四舍五入
			 * 例如 2.456会被格式化为2.46,2.454会被格式化为2.45
			 * */
			jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");
			jxl.write.WritableCellFormat wcf = new jxl.write.WritableCellFormat(nf);
			// 填充产品价格
			jxl.write.Number nb = new jxl.write.Number(2,1,2.45,wcf);
			sheet.addCell(nb);
			// 填充产品数量
			jxl.write.Number numb = new jxl.write.Number(3,1,200);
			sheet.addCell(numb);
			/*
			 * 定义显示日期的公共格式
			 * 如:yyyy-MM-dd hh:mm
			 * */
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			String newdate = sdf.format(new Date());
			// 填充出产日期
			label = new Label(4,1,newdate);
			sheet.addCell(label);
			// 填充产地
			label = new Label(5,1,"陕西西安");
			sheet.addCell(label);
			/*
			 * 显示布尔值
			 * */
			jxl.write.Boolean bool = new jxl.write.Boolean(6,1,true);
			sheet.addCell(bool);
			/*
			 * 合并单元格
			 * 通过writablesheet.mergeCells(int x,int y,int m,int n);来实现的
			 * 表示将从第x+1列,y+1行到m+1列,n+1行合并
			 * 
			 * */
			sheet.mergeCells(0,3,2,3);
			label = new Label(0,3,"合并了三个单元格");
			sheet.addCell(label);
			/*
			 * 
			 * 定义公共字体格式
			 * 通过获取一个字体的样式来作为模板
			 * 首先通过web.getSheet(0)获得第一个sheet
			 * 然后取得第一个sheet的第二列,第一行也就是"产品名称"的字体 
			 * */
			CellFormat cf = wwb.getSheet(0).getCell(1, 0).getCellFormat();
			WritableCellFormat wc = new WritableCellFormat();
			// 设置居中
			wc.setAlignment(Alignment.CENTRE);
			// 设置边框线
			wc.setBorder(Border.ALL, BorderLineStyle.THIN);
			// 设置单元格的背景颜色
			wc.setBackground(jxl.format.Colour.RED);
			label = new Label(1,5,"字体",wc);
			sheet.addCell(label);

			// 设置字体
			jxl.write.WritableFont wfont = new jxl.write.WritableFont(WritableFont.createFont("隶书"),20);
			WritableCellFormat font = new WritableCellFormat(wfont);
			label = new Label(2,6,"隶书",font);
			sheet.addCell(label);
			
			// 写入数据
			wwb.write();
			// 关闭文件
			wwb.close();
			long end = System.currentTimeMillis();
			System.out.println("----完成该操作共用的时间是:"+(end-start)/1000);
		} catch (Exception e) {
			System.out.println("---出现异常---");
			e.printStackTrace();
		}
	}

}

分享到:
评论
7 楼 谭亮辉 2011-06-15  
不错不错,是我想要的
6 楼 PointOnLine 2009-09-02  
恩,还不错
5 楼 yinbeibeiaichen 2008-12-01  
                                 
3 楼 unique.wu 2008-04-08  
呵呵,正好需要,谢谢分享~
2 楼 gzwfdy 2007-10-08  
for(int i=0;i<title.length;i++){  
                // Label(x,y,z)其中x代表单元格的第x+1列,第y+1行, 单元格的内容是y  
                // 在Label对象的子对象中指明单元格的位置和内容  
单元格的内容应该是z。
谢谢!
1 楼 lizhanwei 2007-05-22  
   在GOOGLE 搜索到你的 厉害啊老付

相关推荐

    Jxl使用总结

    ### Jxl 使用总结 在本篇文章中,我们将详细介绍 Jxl 这个 Java Excel API 的一些基本用法,以及如何利用 Jxl 对 Excel 表格进行操作。Jxl 是一款非常实用且易于使用的 Java 库,它允许开发人员通过简单的代码就能...

    jxl使用总结

    是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以操作Excel,两者相比之下:Jxl使用方便,但功能相对POI比较弱。

    jxl导出excel总结

    总结来说,jxl是Java开发者处理Excel文件的利器,它提供了全面的API,能够满足大多数Excel操作需求。通过熟练掌握jxl,开发者可以轻松地在Java应用程序中实现数据的导入导出,提升工作效率。在实际项目中,根据具体...

    JXL使用模板通过el表达式生成excel文件

    JXL库因其简单易用的API和对Excel文件的良好支持,而在Java开发中被广泛使用。 **通过EL表达式生成Excel** EL(Expression Language)表达式是JavaServer Faces(JSF)中的一种标准表达式语言,用于在Java组件和...

    JAVA操作Excel(jxl使用介绍).pdf

    ### JAVA操作Excel(jxl使用介绍) #### 一、概述 在Java编程中,处理Excel文件是一种常见的需求。jxl库是早期广泛使用的Java操作Excel文件的API之一。本篇文章将详细介绍如何利用jxl库实现对Excel文件的基本操作,...

    一些常用的jar包

    7. **文档价值**:“jxl使用总结.docx”可能是一个详细的教程,包含了jxl的API介绍、实例代码和使用技巧,是学习jxl的重要参考资料。 总的来说,这个压缩包提供的资源对于Java开发者,尤其是那些处理Excel数据的...

    使用jxl操作Excel

    总结,`jxl`库为Java开发者提供了便利的工具,使他们能够高效地处理Excel文件,进行数据的导入、导出、读取和更新。通过分析提供的文件名,我们可以推测出这些代码片段覆盖了使用`jxl`进行Excel操作的主要功能。

    jxl 使用文档

    总结来说,JXL是一个功能丰富的库,可以帮助Java开发者轻松地处理Excel文件,无论是读取数据还是创建新的报表。通过熟练掌握JXL的API,可以实现复杂的Excel操作,满足各种业务需求。在实际项目中,结合使用JXL提供的...

    jxl创建下拉列表

    使用jxl库创建下拉列表涉及到以下几个关键步骤: 1. **创建Excel文件**:通过`Workbook.createWorkbook`方法创建一个新的Excel文件。 2. **创建工作表**:使用`createSheet`方法为Excel文件添加新的工作表。 3. **...

    jxl包和使用的例子 带注释和说明文档 预览打印功能

    总结,jxl包是Java与Excel交互的重要工具,它通过简单易用的API简化了Excel文件的操作。结合文档、示例和注释,开发者可以迅速掌握并应用到实际项目中。而预览打印功能则进一步扩展了jxl的应用场景,使开发者能够为...

    JXL使用案例

    总结来说,JXL库虽然在处理Excel文件方面提供了便捷的API,但处理数字和日期时仍然需要小心处理,以确保数据的准确性和格式的正确性。以上介绍的知识点能够帮助开发者更好地使用JXL库进行Excel文件的读写操作,并...

    jxl.jar 使用手册pdf

    ### jxl.jar 使用手册知识点详解 #### 一、引言 在现代软件开发过程中,特别是在Web应用程序中,处理Excel文件成为了一项常见的需求。对于Java开发者而言,利用原生Java库来读取、写入甚至是生成Excel文件的能力变...

    jxl操作excel文件例子

    总结起来,JXL库是Java开发人员处理Excel文件的理想选择,其丰富的功能和易用的接口使得在各种场景下都能高效地完成任务,无论是简单的数据读取还是复杂的格式设置和公式处理。不过要注意,JXL库对较新版本的Excel...

    jxl,jfreechar 总结

    例如,你可以先使用JXL读取Excel表格中的销售数据,再用JFreeChart生成对应的柱状图或折线图,以此来直观展示销售趋势。 总的来说,JXL和JFreeChart是Java开发者处理Excel数据和图表的得力工具,它们提供了丰富的...

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

    总结一下,`jxl`库是一个强大且灵活的工具,用于Java中处理Excel文件。通过下载并引入`jxl.jar`,你可以在Java项目中轻松地读取和写入Excel数据。结合示例代码`Test.java`,可以快速掌握基本的Excel操作,从而实现更...

    jxl.jar 包含jxl源码 API

    总结来说,`jxl.jar` 提供了一个强大且稳定的工具,帮助 Java 开发者轻松处理 Excel 数据。包含的源码增强了学习和定制的可能性,而成熟的 API 设计使得实际操作变得简单高效。无论你是要读取数据、进行数据分析,...

Global site tag (gtag.js) - Google Analytics