- 浏览: 348485 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
pacoson:
感谢楼主。请受小生一拜。
ANT预编译JSP -
zhuhongming123:
一楼的同学Lucene4.* 以上的 已经改成了Numeric ...
Lucene日期排序及组合查询 -
ywjk520:
RangeQuery在哪个包里?
Lucene日期排序及组合查询 -
willwen:
有个疑问,楼主,为何初始化bits 从txt读取已有的网址是直 ...
布隆过滤器(Bloom Filter)之java实例 -
yu_226528:
还不如没有呢
jFreeChart 在jsp页上实现简单的折线图、柱状图
(二)应用
在进行实践前,我们需要对excel有一个大致的了解,excel文件由一个工作簿(Workbook)组成,工作簿由工作表(sheet)组成,每个工作表又由很多单元格(cell)组成. 工作簿有自己的特征,同样工作表,单元格也一样.从大局上了解了excel文件,对于我们更好的使用jxl是有一定的帮助的.具体请查看(一)API
在jxl中其大概的层次是这样的
名称 |
属性 |
Workbook |
WorkbookSettings |
Sheet |
SheetSettings |
Cell |
CeLlFormat CellFeatures CellView CellType |
Jxl读excel:
得到工作簿的方法主要有四个:
getWorkbook(File file)
getWorkbook(File file,WorkSettings ws)
getWorkbook(InputStream is)
getWorkbook(InputStream is,WorkSettings ws)
参数有两个:
第一个参数是必须的:文件或输入流,
第二个参数:工作簿ws是作为读出来的excel的一些约定,如地区,编码等.
如果文件错误或格式错误,将会抛出BiffException或IOException.
代码段:
Workbook wb=null;
try
{
wb = Workbook.getWorkbook(excelFile);
wb.close();
}
catch(BiffException ex){
//转换错误
}catch(IOException ex){
//IO错误
}
以上如果一切正常的话,将得到此excel文件的工作簿.接下来我们就可以通过此文件簿得到其他的东西了.以下是得到工作表有关的方法
int getNumberOfSheets()//工作表个数
Sheet getSheet(String name);//得到此对应名称的工作表
Sheet getSheet(int index);//得到此序列号的工作表
Sheet[] getSheets();//得到工作表数组
String[] getSheetNames();//得到工作表名称数组
示例代码如下:
Sheet sheet;
if(wb.getNumberOfSheets()>0)
{
sheet = wb.getSheet(0);
}
以下的方法除非特别目的,否则用到的地方不多.
Range[] finaName(String name);//得到此名称的表格区
Cell findCellByName(String name);//得到此名称的Cell
Cell getCell(String loc)
String[] getRangeNames();
与文件是否可写有关的
boolean isProected();
得到了工作簿文件的某个工作表时.
对于工作表而言其主要的内容就是单元格了.
//根据内容查看
Cell findCell(Pattern pattern,int firstCol,int firstRow,int lastCol,int lastRow,Boolean reverse)
Cell findCell(String content)
Cell findCell(String content,omt forstCol,int firstRow,int lastCol,int lastRow,Boolean reverse)
LabelCell findLabelCell(String contents)
//根据位置得到
Cell getCell(int col,int row)
Cell getCell(String loc)//loc的格式为A3/B1/C3其相同于
getCell(CellReferenceHelper.getColumn(loc0,CellReferenceHelper.getRow(loc)),所以相对而言其性能没有Cell getCell(int col,int row)快
//单元格数组
Cell[] getRows(int row)//当前行单元格数组
Cell[] getCols(int col)//当前列单元格数组
//特殊单元格数组
//超链接表格
Hyperlink[] getHyperlinks();//超链接数组
//区域表格
Range[] getMergedCells();//区域单元格数组
//图像表格
Int getNumberOfImages()//拥有图片数
Image getDrawing(int index)//对应序号的图片
//工作表或多个表格一些自我属性
String getName()//工作表名
int getRows()//行数
int getCols()//列数
SheetSettings getSettings()//工作表设置
CellView getColumnView(int col)//此列的表格视图
CellView getRowView(int row)//此行的表格视图
以下是与单元格有关的一些操作:
CellFeatures getCellFeatures()//主要是与表格内容有关的一些性质如验证等
CellFormat getCellFormat()//主要是表格外在表现格式有关的一些性质.
int getColumn()//所在列
int getRow()//所在行
String getContents();//内容
boolean isHidden();//可见否
CellType getType();//表格类型 如果不确定表格如果转换则可以使用此方法来确定表格类型.
以下我们讲述如何写excel文件.
写文件分为两种情况 一种是新建一种则是更新.
新建excel文件
新建excel文件很简单:
//文件
WritableWorkbook createWorkbook(File file) //无形式的创建一个excel文件
WritableWorkbook createWorkbook(File file Workbook in)
//以in一样的格式创建一个excel文件,其初始内容与in文件相同(更新文件可以用到此方法)
WriteableWorkbook createWorkbook(File file,WorkSetting ws)//以ws的设定创建文件
WritableWorkbook createWorkbook(File file,Workbook in,WorkSetting ws)
//以ws的设定创建一个与in文件相同的文件
//流
WritableWorkbook createWorkbook(OutputStream os)
WritableWorkbook createWorkbook(OutputStream os Workbook in)
WriteableWorkbook createWorkbook(OutputStream os,WorkSetting ws)
WritableWorkbook createWorkbook(OutputStream os,Workbook in,WorkSetting ws)
代码示例:
WritableWorkbook wrb;
WriteableWorkbook wrbin;
try
{
wrb = Workbook.createWorkbook(targetfile);
wrbin = Workbook.createWorkbook(targetfile,wb);
}
catch (IOexception e)
{
//IO错误
}
当创建好工作簿时,我们就需要新建工作表了
WritableSheet createSheet(String name,int index);
WritableSheet wrs = wrb.createSheet(“demo”,0);
//创建一个名为demo的工作表,其为工作簿的第一个工作表.
接下来我们就可以进行其他操作了
添加文本类单元格:
Label label = new Label(0,0,””);
wrb.addCell(label);
//添加数据单元格
Number number = new Number(0,3,1234);
wrb.addCell(number);
//添加时间单元格
DateTime dt = new DateTime(0,4,new Date());
Wrb.addCell(dt);
//添加公式单元格
Fornual formual = new Formual(0,11,”Sum(A1:A9)”);
wrb.addCell(formual);
添加超链接类单元格
WirtableHyperlink wrlink =
new WritableHyperlink(0,1,0,1,new URL(“www.emlog.net/fei”),”emlog”);
wrb.addHyperlink(wrlink);
//添加图像
WritableImage wrimage=new WritableImage(1,5,10,10,new File(imageFilepath));
wrb.addImage(wrimage);
//注意,API中注明只支持png文件,然而我用其他格式的图片,通过将其后缘改为png也能放到excel文件中.果然,在查看其具体源代码时,发现作者只是检测了文件的后缀名,如果不对 给出警告,并没有从图像文件的具体格式进行检测.
当然,表格中的数据算是表格的核心部分,但是同时API也提供了大量的其他方法来丰富表格的显示.在此,大家具体在使用过程中进行运用就行.
//最后,写完表格后,不要忘记进行写操作,也就是常说的保存
wrb.write()
wrb.close();保存完后关闭相应资源是一个合格的程序员应该做的.
接下来,我们就来讲述写文件的另一方面:更新文件.有时候,并不仅仅只是需要新写文件,可能需要对已有文件进行更新.这时候我们可以这么来实现.
Workbook wb= Workbook.getWorkbook(modifyFile);
WritableWorkbook wrb = Workbook.createWorkbook(modifyFile, wb);
以上就实现了得到一个已存在的文件的可修改副本.
//得到第一个工作表
WritableSheet wrs = wrb.getSheet(0);
//得到A0单元格
Cell cell = Wrs.getCell(0,0);
//对单元格格式进行判断
If (cell.getType()==CellType.LABEL){
Label label=(Label) cell;
label.setString(“u r modified.”);
}//modify end
//save excel
wrb.write();
wb.close();
wrb.close();
以上就简单的完成了一次excel文件的修改.API中还提供了复制工作表,复制单元格等操作,大家可以通过查询API来了解其具体的用法.
发表评论
-
HttpClient 学习整理
2010-12-02 14:05 796一般的情况下我们都是使用IE或者Navigator浏览器来访问 ... -
Log4j配置详解
2010-11-19 15:36 9461.Log4j日志管理系统简 ... -
C++和JNI的数据转换(3)
2010-09-29 14:58 955Java 测试native代码这没有什么多说的,看代码吧 ... -
C++和JNI的数据转换(2)
2010-09-29 14:49 1074全部的C/C++方法实现代码如下: /**//*** ... -
C++和JNI的数据转换(1)
2010-09-29 14:42 1814<script type="text/java ... -
ANT预编译JSP
2010-09-07 22:27 2554<?xml version="1.0" ... -
java操作Excel(jxl)
2010-08-05 09:27 1130package test;import jxl.*; ... -
什么是Jetty
2010-05-21 17:03 1053Jetty 是一个开源的servlet ... -
使用jetty作为嵌入式web容器(部署war文件)
2010-05-21 16:58 1258由于工作的需要,仓促的摸了一把jetty,觉得jetty在作为 ... -
一段分页代码PaginationSupport.java
2010-05-01 16:37 1301package com.iteye.common.hibern ... -
response.sendRedirect() 的session丢失问题
2010-04-29 10:42 2898使用时response.sendRedirect(),如果 ... -
EHCACHE简介
2010-04-25 19:37 981二级缓存 EHCache是一个 ... -
jFreeChart 在jsp页上实现简单的折线图、柱状图
2010-02-08 14:22 3643创建柱状图 1 引入jFreech ... -
用dom4j实现openfire式导航菜单
2010-01-06 22:26 1643借鉴Openfire项目中 ... -
Jxl简析(一)
2009-11-30 18:28 1184最近,完成了一个网上报表系统,刚巧用到了一个JAVA操作exc ... -
Java实现异库多表多字段的同时导入导出
2009-11-28 16:59 1726最近公司做的项目中要求把项目实施单位的原有系统中的表导入到我们 ... -
JavaMail API详解
2009-11-26 16:12 894版权声明:本文可以自由转载,转载时请务必以超链接形式标明文 ... -
FCKeditor 2.6.3与FCKeditor.java 2.4在JSP中配置
2009-11-26 16:08 24391.FCKeditor 介绍 FCKeditor 这个开 ... -
IE6中奇偶中文参数乱码的问题
2009-11-14 12:55 2767form是以post方式传递的,pager-taglib中接受 ... -
java.lang.OutOfMemoryError: Java heap space解决方法
2009-11-12 17:44 1335//首先检查程序有没有 ...
相关推荐
JXL是一个Java库,用于读写Microsoft Excel文件。在Java开发中,如果你需要处理Excel数据,JXL提供了一个简洁的API,使得在程序中操作Excel表格变得相对简单。下面我们将详细探讨JXL的使用和主要知识点。 **1. JXL...
"jxl.biff.drawing.dg"和"jxl.biff.drawingdg"则涉及到Excel文件内部的结构,BIFF(Binary Interchange File Format)是Excel的二进制文件格式,其中"drawing"部分与Excel的图形元素相关,"dg"可能是Drawing Group的...
Java语言在处理Excel文档时,通常会借助第三方库,其中最为流行的就是jxl库。jxl不仅提供了读取Excel文件的能力,还支持创建和修改Excel文件,极大地简化了开发者的工作。本文将深入探讨jxl库及其API的使用,帮助你...
二、JXL核心组件 1. **Workbook**:工作簿对象是Excel文件的抽象,它可以包含多个工作表。 2. **Sheet**:工作表是工作簿中的一个单元,对应于Excel中的一个sheet。 3. **Cell**:细胞对象代表了Excel工作表中的一个...
#### 二、jxl创建下拉列表的原理 在Excel中,下拉列表是一种常用的数据验证方式,它可以限制用户在某个单元格内输入的数据范围。使用jxl库创建下拉列表涉及到以下几个关键步骤: 1. **创建Excel文件**:通过`...
《使用Java的jxl库创建并格式化Excel文件详解》 在Java开发中,处理Excel文件是一项常见的任务,尤其在数据导入导出、报表生成等领域。jxl库为Java提供了便利的方式来读写Excel文件,无需Microsoft Office的支持。...
**jxlAPI(jxl完整的API)** jxl是一个Java库,用于读写Microsoft Excel文件。这个库在处理Excel数据时提供了丰富的功能,无需依赖于Microsoft Office套件。jxl API使得开发者能够在纯Java环境中创建、修改和读取...
"jxl模版生成excel" 指的是使用JExcelAPI(简称jxl)这个Java库来创建基于模板的Excel文件。JExcelAPI是一个开源项目,允许程序开发者读写Microsoft Excel文件,它支持从Java数据结构直接导出到Excel格式,同时也可...
`jxl`库是一个广泛使用的第三方库,它允许开发者轻松地读取、写入和修改Excel文件。本篇文章将深入探讨如何利用`jxl.jar`包来实现这一功能。 首先,确保你已经正确地将`jxl.jar`文件添加到你的项目类路径中。这可以...
在实际应用中,JXL库可以很好地满足大多数Excel处理需求,但需要注意的是,它不支持较新的Excel文件格式(.xlsx),只适用于旧版的二进制文件格式(.xls)。如果需要处理.xlsx文件,可以考虑使用Apache POI或其他更...
《jxl库详解:2.6.10版本在Java中的Excel操作》 在Java编程领域,处理Excel数据是一项常见的任务,而jxl库则为此提供了强大的解决方案。本文将深入探讨jxl-2.6.10.jar包,它是jxl库的一个版本,特别关注其在读写...
确保正确导入`jxl`相关的包,如`jxl.write.WritableWorkbook`、`jxl.read.BiffRecord`等。 接下来,让我们看一个简单的读写Excel文件的实例。在这个例子中,我们将创建一个名为`Test.java`的文件,用于演示如何使用...
**jxl.jar 知识点详解** `jxl.jar` 是一个用于读写 Microsoft Excel 文件的 Java 库,它使得 Java 开发者能够在程序中方便地处理 Excel 数据,而无需依赖于 Microsoft Office 或其他第三方软件。这个库由 JExcelApi...
Java中的JXL库是一个强大的工具,专为处理Excel文件而设计。这个官方下载版的`jxl.jar`包含了处理Excel工作簿、工作表、单元格等所有必要的功能,使得Java开发者能够轻松地读取、写入和修改Excel数据。本文将深入...
java实现数据的导入与导出依赖包 jxl.jar
而“common”和“jxl”这两个目录可能包含了jxl库的源代码和相关资源,这对于开发者来说是宝贵的参考资料,可以直接查看源码来理解其内部实现机制,进行二次开发或解决遇到的问题。 总的来说,jxl库以其全面的功能...
《深入理解JXL库:从jxl.jar到jxl源码和API》 在Java编程领域,处理Excel数据是一项常见的任务。为此,开发者们通常会使用各种库来简化这一过程,其中JXL就是一个广泛使用的开源库。本文将围绕"jxl.jar和jxl源码及...
**JXL库详解** 标题提及的“JXL - JAR包”是指Java eXtensions for Lotus (JXL),这是一个广泛使用的开源库,专门用于处理Excel电子表格文件。JXL库提供了一组易于使用的API,使得Java开发者可以方便地读取、写入...
这是因为.xlsx是Excel 2007及以后版本使用的较新的XML格式,而Jxl主要处理的是Excel 97-2003的二进制文件格式。 首先,让我们详细了解一下Jxl库的关键功能和如何在Android项目中集成它。Jxl提供了丰富的API,允许...