`
onlysoymilk
  • 浏览: 98983 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JExcel / 小试牛刀

    博客分类:
  • Java
阅读更多

目前微软Office套件中的Excel仍然是电子表格数据处理的"王者",几乎所有玩过电脑的人都知道Excel之强大.当前的开发语言基本上都支持对Excel的操作,比如读取Excel中的数据、新增Excel电子表格,更新 Excel表格中的数据等操作,这些基本功能都是可以再程序中动态来控制的。


JExcel是Java对Excel操作封装的一个开源框架,通过它可以很简单的就能实现对Excel增、删、改、查等功能,而且使用JExcelAPI 在非操作系统中同样可以对Excel进行处理,加上JExcelAPI是使用 Java语言开发的,所以我们在WEB应用中同样可以通过Servlet或Jsp来调用JExcel的API对Excel数据表继续访问和相关操作。

 

JExcelAPI的最新版本:jexcelapi_2_6_10.zip
下载地址:http://sourceforge.net/projects/jexcelapi/files/jexcelapi/2.6.10/jexcelapi_2_6_10.zip

 

主要功能:

  1. 从Excel  95 、 97 、2000等格式的文件中读取数据
  2. 读取Excel公式(可以读取Excel 97以后的公式)
  3. 生成Excel数据表(格式为Excel 97 )
  4. 支持字体、数字、日期的格式化;
  5. 支持单元格的阴影操作,以及颜色操作
  6. 修改已经存在的数据表
  7. 能够读取图表信息(目前只支持PNG格式的图片)

 

package com.crazyidea.operate;

import java.io.File;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
 * JExcelAPI小试牛刀
 * @author Alan
 * 时间:2009年8月22日
 */
public class JExcelOperate {
	
	/**
	 * 通过exl读取Excel中的数据
	 * @param eFilePath  文件路径(相对路径或绝对路径)
	 */
	public static void readExcel(String eFilePath){
		//判断文件路是否为空
		if (eFilePath!=null && !eFilePath.equals("")) {
			
			//判断文件是否存在
			File eFile=new File(eFilePath);
			if (eFile.exists()) {
				Workbook wb=null;
				try {
					//Workbook的构造器是受保护的,所以我们只能通过它的工厂方法
					//来创建一个Workbook对象
					wb=Workbook.getWorkbook(eFile);
					if (wb!=null) {
						//可以通过Workbook中的两个方法来获取Excel中的某一指定的工作,
						//一个是通过索引(从0开始),另一个是通过工作表的名称来获取
						//Sheet sheet=wb.getSheet(0);
						Sheet sheet=wb.getSheet("newSheet");
						if (sheet!=null) {
							//逐行逐列的读取Excel中的数据
							for(int i=0;i<sheet.getRows();i++){
								for(int j=0;j<sheet.getColumns();j++){
								      System.out.print(sheet.getCell(j, i).getContents());
								}
								System.out.println();
							}
						}
					}
				} catch (Exception e) {
					e.printStackTrace();
				} finally{
					if (wb!=null) {
						wb.close();
					}
				}
			}
		}
	}	

	/**
	 * 创建Excel文件,并写入数据
	 * @param efilePath 将要创建的Excel文件完整路径
	 */
	public static void writeExcel(String efilePath){
		//文件路径合法性验证
		if (efilePath!=null && !efilePath.equals("") 
				&& efilePath.toUpperCase().endsWith(".XLS")) {
			WritableWorkbook wwb=null;
			try {
				//创建工作薄,注:该对象为Workbook的子类
				wwb=Workbook.createWorkbook(new File(efilePath));
				//创建工作表
				WritableSheet ws=wwb.createSheet("newSheet", 0);
				//向工作表中添加单元格
				//Label构造:一参:列	二参:行	 三参:单元格内容
				Label lblUid=new Label(0,0,"编号");
				Label lblUname=new Label(1,0,"用户名");
				Label lblUpass=new Label(2,0,"密码");
				ws.addCell(lblUid);
				ws.addCell(lblUname);
				ws.addCell(lblUpass);
				
				Label lblUid1=new Label(0,1,"1001");
				Label lblUname1=new Label(1,1,"Tom");
				Label lblUpass1=new Label(2,1,"tompassword");
				ws.addCell(lblUid1);
				ws.addCell(lblUname1);
				ws.addCell(lblUpass1);
				
				Label lblUid2=new Label(0,2,"1002");
				Label lblUname2=new Label(1,2,"Jack");
				Label lblUpass2=new Label(2,2,"jackpassword");
				ws.addCell(lblUid2);
				ws.addCell(lblUname2);
				ws.addCell(lblUpass2);
				
				//写入工作薄,并关闭一释放内存
				wwb.write();
				wwb.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	/**
	 * 测试
	 * @param args
	 */
	public static void main(String[] args) {
		JExcelOperate.writeExcel("src\\new_excel.xls");
		JExcelOperate.readExcel("src\\new_excel.xls");
	}
}

 

写入Excel的效果:

写入Excel

 

读取Excel并打印到控制台的效果:

读出打印到控制台的效果

 

 

 

5
1
分享到:
评论
1 楼 jinsv_eye 2009-08-27  
支持,最近正在考虑用java开发一个协同办公平台,主要是用excel来在同一个平台上做工作汇报进度的记录等等。

相关推荐

    jExcel学习帮助文档

    【jExcel学习帮助文档】 jExcel 是一个轻量级的Java库,专门用于解析和处理Excel文件。相较于Apache POI,jExcel具有更小的体积和更好的中文支持,使其成为处理用户上传的Excel模板的理想选择。这个库的核心功能被...

    JExcel的.Net实现

    JExcel是一款在Java平台上知名的开源库,主要用于处理Excel文件的读写操作。它以其轻量级、高效和易用性而受到开发者们的欢迎。然而,有时开发者可能需要在.NET环境中使用类似的功能,因此出现了JExcel的.NET实现。...

    jexcel 资源包下载 当前js版本为 v4.10.1

    可以从excel复制并直接粘贴到jExcel CE电子表格,反之亦然。 很容易集成任何第三方JavaScript插件来创建您自己的自定义列、自定义编辑器,并在应用程序中自定义任何特性。 jexcelce通过其本机列类型有很多不同的输入...

    jexcel-1.3.jar

    《jExcel-1.3.jar:Java Swing中的表格操作与隔行变色功能》 在Java编程领域,Swing库提供了丰富的组件用于构建图形用户界面(GUI),其中表格组件是不可或缺的一部分。jExcel是一个强大的开源库,专为Java开发者...

    JExcel 实用指南

    ### JExcel实用指南知识点解析 #### 一、引言与概述 **JExcel** 是一个强大的Java库,用于处理Excel文件。它为开发者提供了一系列工具和API,使得在Java应用程序中创建、读取、编辑Excel文件变得简单。该实用指南...

    jExcel实现

    ### jExcel实现与Java Excel API详解 #### 一、引言 随着互联网技术的发展,越来越多的应用程序需要在Web端处理Excel文件。对于开发者而言,如何高效地读取、写入Excel文件成为了一项重要的技能。Java作为一种广泛...

    jexcel.zip

    《使用jExcel实现前端Excel解析与多Sheet页切换》 在现代Web开发中,数据的交互和展示方式越来越多样化,其中Excel作为一种常见的数据格式,其灵活性和强大的功能使其在数据处理中占据重要地位。jExcel是一款优秀的...

    JExcel-1.7

    **JExcel 1.7 知识点详解** JExcel 是一个强大的开源Java库,它允许开发者在Java应用程序中创建、编辑和展示电子表格。这个工具特别适合那些需要处理大量数据,或者希望提供类似Microsoft Excel的功能给用户的应用...

    jexcel-master

    《jExcel:前端Excel操作详解》 在现代Web开发中,数据展示与操作是一个不可或缺的部分,尤其是在处理表格数据时。jExcel是一款强大的JavaScript库,它允许开发者在前端实现类似Excel的功能,提供用户友好的交互...

    Java处理Excel的Jar包-JExcel

    JExcel是一个流行的开源库,它为Java开发者提供了一种便捷的方式来读写Microsoft Excel文件(.xls格式)。这个库的核心是jxl.jar,它是JExcel的主要组件,包含了处理Excel文件所需的所有类和方法。 **JExcel核心...

    jqueryexcel.rar

    &lt;link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jexcel/4.0.0/css/jquery.jexcel.css"&gt; &lt;script type="text/javascript" src=...

    JExcel2.0-API

    JExcel2.0的API文档 自己根据官方文档制作,供有兴趣的朋友分享

    jexcel 导出excel文件的demo

    jexcel导出excel文件的demo。版本是6.120.包括读取excel,创建新excel,复制excel三个,其中创建excel又分为普通信息,数字,时间,格式化信息,格式化数值,格式化时间等等,有设置单元格大小,单元格样式,单元格...

    jxls-jexcel-1.0.6.jar

    jxls-jexcel-1.0.6.jar java读取excel文件的jarjxls-jexcel-1.0.6.jar

    jExcel是一个轻量级的javascript插件用于创建与Excel兼容并基于Web的交互式表格和电子表格

    jExcel是一款专为Web开发者设计的轻量级javascript插件,其主要目标是提供与Microsoft Excel高度兼容的在线表格功能。这款插件以其简洁、高效和易于集成的特点,深受前端开发者的喜爱。在本文中,我们将深入探讨...

    jexcel java操作excel

    Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。...

    Excel报表生成工具---JExcel

    【标题】"Excel报表生成工具---JExcel"是一款专门用于创建和编辑Excel电子表格的Java库,它使得在编程环境中生成动态报表变得简单易行。JExcelAPI是这个工具的核心,它提供了丰富的功能,允许开发者通过代码直接操作...

Global site tag (gtag.js) - Google Analytics