- 浏览: 351855 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
mcseer:
我按照设置,但没有生效。能否协助
Asterisk中MixMonitor的参数b,接通后才录音 -
hbxfyxw:
过来看看文周书记,文周书记的总结很好很实用
(可行)easyui 实现 panel 拖动效果 -
hbxfyxw:
(惨痛教训) java runtime().exec() 提示 No such file or directory -
hwzyyx:
hbxfyxw 写道过来看看黄师傅,黄师傅行文走笔娓娓道来,受 ...
(原创)easyui 页面加载慢的原因及解决办法 -
hbxfyxw:
过来看看黄师傅,黄师傅行文走笔娓娓道来,受教了
(原创)easyui 页面加载慢的原因及解决办法
jxl是java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不 依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。 另外需要说明的是,这套API对图形和图表的支持很有限,而且 仅仅识别PNG格式。
使用如下:
搭建环境
将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。
基本操作
一、创建文件
拟生成一个名为“test.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:
package test;
// 生成Excel的类
import java.io.File;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class CreateExcel {
public static void main(String args[]) {
try {
// 打开文件
WritableWorkbook book = Workbook.createWorkbook( new File( " test.xls " ));
// 生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet( " 第一页 " , 0 );
// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
// 以及单元格内容为test
Label label = new Label( 0 , 0 , " test " );
// 将定义好的单元格添加到工作表中
sheet.addCell(label);
jxl.write.Number number = new jxl.write.Number( 1 , 0 , 555.12541 );
sheet.addCell(number);
// 写入数据并关闭文件
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
编译执行后,会产生一个Excel文件。
二、读取文件
以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:
package test;
// 读取Excel的类
import java.io.File;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
public class ReadExcel {
public static void main(String args[]) {
try {
Workbook book = Workbook.getWorkbook( new File( " test.xls " ));
// 获得第一个工作表对象
Sheet sheet = book.getSheet( 0 );
// 得到第一列第一行的单元格
Cell cell1 = sheet.getCell( 0 , 0 );
String result = cell1.getContents();
System.out.println(result);
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
程序执行结果:test
三、修改文件
利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的时候,除了打开文件的方式不同之外,其他操作和创建Excel是一样的。下面的例子是在我们已经生成的Excel文件中添加一个工作表:
package test;
import java.io.File;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class UpdateExcel {
public static void main(String args[]) {
try {
// Excel获得文件
Workbook wb = Workbook.getWorkbook( new File( " test.xls " ));
// 打开一个文件的副本,并且指定数据写回到原文件
WritableWorkbook book = Workbook.createWorkbook( new File( " test.xls " ),
wb);
// 添加一个工作表www.2cto.com
WritableSheet sheet = book.createSheet( " 第二页 " , 1 );
sheet.addCell( new Label( 0 , 0 , " 第二页的测试数据 " ));
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
四、 数据格式化
在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用。
字串格式化
字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和WritableCellFormat类来负责。假设我们在生成一个含有字串的单元格时,使用如下语句,为方便叙述,我们为每一行命令加了编号:
WritableFont font1 =new WritableFont(WritableFont.TIMES, 16 ,WritableFont.BOLD); ①
WritableCellFormat format1 = new WritableCellFormat(font1); ②
Label label = new Label( 0 , 0 ,”data 4 test”,format1) ③
其中①指定了字串格式:字体为TIMES,字号16,加粗显示。WritableFont有非常丰富的
构造子,供不同情况下使用,jExcelAPI的java-doc中有详细列表,这里不再列出。
②处代码使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种
属性,后面的单元格格式化中会有更多描述。
③处使用了Label类的构造子,指定了字串被赋予那种格式。
在WritableCellFormat类中,还有一个很重要的方法是指定数据的对齐方式,比如针对我们上面的实例,可以指定:
// 把水平对齐方式指定为居中
format1.setAlignment(jxl.format.Alignment.CENTRE);
/ 把垂直对齐方式指定为居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
五、单元格操作
Excel中很重要的一部分是对单元格的操作,比如行高、列宽、单元格合并等,所幸jExcelAPI提供了这些支持。这些操作相对比较简单,下面只介绍一下相关的API。
1、 合并单元格
WritableSheet.mergeCells( int m, int n, int p, int q);
// 作用是从(m,n)到(p,q)的单元格全部合并,比如:
WritableSheet sheet = book.createSheet(“第一页”, 0 );
// 合并第一列第一行到第六列第一行的所有单元格
sheet.mergeCells( 0 , 0 , 5 , 0 );
合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。
2、 行高和列宽
WritableSheet.setRowView( int i, int height);
// 作用是指定第i+1行的高度,比如:
// 将第一行的高度设为200
sheet.setRowView( 0 , 200 );
WritableSheet.setColumnView( int i, int width);
// 作用是指定第i+1列的宽度,比如:
// 将第一列的宽度设为30
sheet.setColumnView( 0 , 30 );
jExcelAPI还有其他的一些功能,比如插入图片等,这里就不再一一介绍,读者可以自己探索。其中:如果读一个excel,需要知道它有多少行和多少列,如下操作:
Workbook book = Workbook.getWorkbook( new File( " 测试1.xls " ));
// 获得第一个工作表对象
Sheet sheet = book.getSheet( 0 );
// 得到第一列第一行的单元格
int columnum = sheet.getColumns(); // 得到列数
int rownum = sheet.getRows(); // 得到行数
System.out.println(columnum);
System.out.println(rownum);
for ( int i = 0 ; i < rownum; i ++ ) // 循环进行读写
{
for ( int j = 0 ; j < columnum; j ++ ) {
Cell cell1 = sheet.getCell(j, i);
String result = cell1.getContents();
System.out.print(result);
原文: http://www.2cto.com/kf/201203/124783.html
发表评论
-
Java 静态代理模式与装饰者模式的本质区别
2019-10-22 11:00 749我们在学习 Spring 时会先学习代理 ... -
使用quartz 致命的问题反思
2018-11-22 11:00 1033一段时间没有用 quartz 了,所以就随手写一个守护程序 ... -
JAVA 以GET方式提交数据中文乱码,如果配置tomcat配置
2018-04-18 10:15 441解决方法非常简单,只要在 tomcat/conf/ser ... -
Eclipse 下载安装插件提示 Read time out (超时) 解决办法
2017-05-25 15:09 1617加入以下参数到eclipse.ini文件中,找到-vmarg ... -
(可行) 使用 sigar 时,出现UnsatisfiedLinkError
2017-04-26 11:13 534sigar 工具类主要是用于收集操作系统信息及系统信 ... -
(惨痛教训) java runtime().exec() 提示 No such file or directory
2017-04-07 15:14 4196最近花了三天解决 ... -
(测试可用)JSP 页面通过 ajax 导出附件(下载文件)实际
2016-04-12 11:02 836在前端不能真的以 ajax 去请求,而是应该用隐藏的 for ... -
(转)jquery操作select(取值,设置选中)
2014-08-06 18:15 919每一次操作select的时候,总是要出来翻一下资料,不如自己 ... -
<jsp:include ><jsp:forward> 配合 <jsp:param> 乱码问题解决
2013-07-22 02:04 1618在 JSP 动作元素: <jsp:inclu ... -
centos 安装 JDK 1.6 时,出现 unrecognized class file version
2013-04-10 11:02 1111出现这种情况,主要是因为CENTOS 5.0 的系统已经预安 ... -
tomcat 的web项目CPU、内存占用100%(经测试可行)
2012-12-13 19:41 1474近期上线的项目运行时,发现CPU有时能占到100% ... -
JAVA RMI 外网访问实例
2012-11-01 10:57 0JAVA RMI 使用分布式程序变得简单 -
linux 下安装 jdk
2011-08-24 08:36 1171在linux 下安装 JDK, 也不会很难,按以下的步骤来就行 ... -
java 取得 src 下的文件
2011-07-25 15:20 825PropertyFileUtils p = new Prope ... -
eclipse 插件安装不上解决办法
2011-05-24 14:44 1220有时候安装eclipse插件时,发现插件及link 都写好了, ... -
JPA 与 Hibernate 整合的Spring配置
2011-04-08 12:12 15931. 先配置 PersistenceUnit ,在 persi ... -
Hibernate 最基本的内容
2011-02-23 20:52 981Hibernate 的所有操作都基于Session进行的,增、 ... -
Linux中JDK-JRE的安装和配置方法
2011-02-14 12:10 1804一.安装JDK 从sun网站上直接下载JDK:htt ... -
用commons-logging与log4j 输入日志的配置
2011-02-10 22:50 12741. commons-logging.properties ... -
Maven的web项目如果在eclipse中无法被tomcat识别时
2011-01-28 16:10 2753用dos进入项目所在目录,然后执行: mvn -Dwt ...
相关推荐
Java 操作 Excel 表格是一项常见的任务,尤其在数据处理和报告生成方面。在这个场景中,我们使用了一个名为 JExcelApi(简称 JXL)的 Java 库来实现这个功能。JXL 是一个开源的 Java 库,允许程序员读取、写入和修改...
[百度百科] jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的。 支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表
生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux...
能够实现「导入/导出 Excel」的第三方常用类库有 Apache poi、Java Excel(JXL)和阿里巴巴开源的 Easyexcel 等。这么多类库该怎么选呢?在这里小编给大家推荐阿里巴巴开源的「Easyexcel」。 性能对比 poi 和 jxl ...
虽然其功能相较于Apache POI可能略显简单,但在处理中文字符方面表现优异,且由于其纯Java实现,无需依赖任何特定操作系统如Windows,即便在Linux环境下也能完美解析和生成Excel文件。然而,jxl对于复杂图形和图表的...
在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据处理和报表生成方面。"导入/导出Excel jxl.jar"是使用JExcelApi(通常简称为JXL)库的一个示例,这是一个开源Java库,允许开发者读取、写入和修改...
本文详细介绍了如何在Java环境下,特别是在JSP中使用JExcelApi生成Excel报表。无论是简单的文本文件还是复杂的包含图表和图片的Excel文档,JExcelApi都提供了强大的功能和支持。通过本章节的学习,开发者应该能够...
1、通过java操作excel表格的工具类库 2、支持Excel 95-2000的所有版本 3、生成Excel 2000标准格式 4、支持字体、数字、日期操作 5、能够修饰单元格属性 6、支持图像和图表
生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它...
官网最新jxl-2.6.12.jar 是通过纯java操作excel表格的工具类库,支持Excel 95-2000的所有版本,生成Excel 2000标准格式,支持字体、数字、日期操作,能够修饰单元格属性,支持图像和图表
然后,在Java代码中导入必要的jxl类库,如`jxl.Workbook`,`jxl.Sheet`等。 2. **创建与读取Workbook**:使用`Workbook.createWorkbook()`方法创建一个新的Excel文件,或者使用`Workbook.getWorkbook()`打开已存在...
生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样...
这里导入了处理文件、数据库结果集以及生成Excel文件所需的类库,还包括了`Eclipse SWT`库中的组件,用于实现文件选择对话框。 ##### 3.2 定义类与构造函数 ```java public class Export2Excel { public Export2...
它们用于在生成Excel文件时提供与特定语言相匹配的函数名称,确保了跨语言操作的准确性。例如,`functions.properties`文件包含了默认的语言设置,而其他语言版本的文件则提供了对应的本地化函数名。 `META-INF`...
下载的包通常包含JXL的主要库文件,例如"jxl.jar",这是一个Java类库,包含了所有必需的类和资源,以便在Java项目中使用JXL功能。 描述中提到的“用户解析excel,导入数据库,从数据库导出excel”是JXL库的主要应用...
生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样...
这个压缩包的核心是“jxl.jar”文件,这是一个Java类库,允许开发者通过编程方式与Excel工作簿交互。下面我们将深入探讨这个库以及如何在Java项目中使用它。 首先,`jxl.jar`是由JExcelAPI提供的,它是一个开源的...
Java Excel API是指在Java中用于读写Excel文件的API,主要包括Apache POI和JXL两大类库。本文主要基于JXL库来进行介绍,JXL是一个轻量级的Java库,用于读写Microsoft Excel工作簿(.xls格式)。 ### 二、JXL库基本...