- 浏览: 85144 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
honghu:
朋友能把你的demo分享下吗?谢谢,honghu616@gma ...
最近做的Web流程设计器雏形,支持BPMN2.0 -
dyllove98:
Here is a workaround. It uses i ...
MappedByteBuffer 之文件删除问题 -
hahalzb:
thank you
JPA 概述及下载 -
geek87:
我的安装成功了。。呵呵
尝试使用Visual Editor 1.4 -
geek87:
谢谢了,我在试试安装
尝试使用Visual Editor 1.4
原文链接:http://www.cnblogs.com/raymond19840709/archive/2008/06/26/1230289.html
jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不 依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。 另外需要说明的是,这套API对图形和图表的支持很有限,而且 仅仅识别PNG格式。 使用如下: 搭建环境 将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。 基本操作 一、创建文件 拟生成一个名为“test.xls”的Excel文件,其中第一个工作表被命名为 编译执行后,会产生一个Excel文件。 三、读取文件 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下: 四、修改文件 一、 数据格式化 在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用。 1、 字串格式化 字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和 其中①指定了字串格式:字体为TIMES,字号16,加粗显示。WritableFont有非常丰富的 ②处代码使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种 ③处使用了Label类的构造子,指定了字串被赋予那种格式。 在WritableCellFormat类中,还有一个很重要的方法是指定数据的对齐方式,比如针对我们 二、单元格操作 Excel中很重要的一部分是对单元格的操作,比如行高、列宽、单元格合并等,所幸jExcelAPI 1、 合并单元格 合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。 2、 行高和列宽 jExcelAPI还有其他的一些功能,比如插入图片等,这里就不再一一介绍,读者可以自己探索。 其中:如果读一个excel,需要知道它有多少行和多少列,如下操作:
“第一页”,大致效果如下:
// 生成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);
/*
* 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123
*/
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的类
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文件中添加一个工作表:
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);
// 添加一个工作表
WritableSheet sheet = book.createSheet( " 第二页 " , 1 );
sheet.addCell( new Label( 0 , 0 , " 第二页的测试数据 " ));
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
其他操作
WritableCellFormat类来负责。假设我们在生成一个含有字串的单元格时,使用如下语句,
为方便叙述,我们为每一行命令加了编号:
new WritableFont(WritableFont.TIMES, 16 ,WritableFont.BOLD); ①
WritableCellFormat format1 = new WritableCellFormat(font1); ②
Label label = new Label( 0 , 0 ,”data 4 test”,format1) ③
构造子,供不同情况下使用,jExcelAPI的java-doc中有详细列表,这里不再列出。
属性,后面的单元格格式化中会有更多描述。
上面的实例,可以指定:
format1.setAlignment(jxl.format.Alignment.CENTRE);
// 把垂直对齐方式指定为居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
提供了这些支持。这些操作相对比较简单,下面只介绍一下相关的API。
// 作用是从(m,n)到(p,q)的单元格全部合并,比如:
WritableSheet sheet = book.createSheet(“第一页”, 0 );
// 合并第一列第一行到第六列第一行的所有单元格
sheet.mergeCells( 0 , 0 , 5 , 0 );
// 作用是指定第i+1行的高度,比如:
// 将第一行的高度设为200
sheet.setRowView( 0 , 200 );
WritableSheet.setColumnView( int i, int width);
// 作用是指定第i+1列的宽度,比如:
// 将第一列的宽度设为30
sheet.setColumnView( 0 , 30 );
// 获得第一个工作表对象
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);
System.out.print( " \t " );
}
System.out.println();
}
book.close();
发表评论
-
Java并发的四种风味
2015-08-07 09:21 512刚看到这篇文章,讨论了Java应用中并行处理的多种方法,其中 ... -
使用Ant构建Maven3项目【更新】
2013-04-03 00:40 1479之前的转的帖子经过验证发现还是有点问题的,所以打算重写一遍 ... -
婚礼用--宾客席位搜索器
2013-01-04 13:21 1008前阵子事情多,又要准备结婚,所以博客好久没更新了。 2 ... -
Java 过滤文件的BOM头
2012-09-06 15:22 1380最近项目碰到一个小问题,配置文件如果用记事本改过,会因为解析错 ... -
nexus 初试笔记
2012-06-27 22:01 1246今天花了点时间研究了下Nexus,做个小笔记。 1.别 ... -
Java 阻塞队列
2012-06-21 14:13 1207项目中需要用到多线程处理,线程的任务最好是动态的负载均衡,自然 ... -
Vaadin 学习笔记
2012-03-22 22:50 0话说最近一个小项目,我实在是难以忍受不给力的美工MM,也受够了 ... -
开始试试Vaadin
2012-03-16 22:57 1366最近发现了一个比较有意思的Web Ria框架:Vaadin。官 ... -
Nutz中支持SLF4J
2011-11-15 14:08 2428Nutz是个不错的轻量级框架,小巧易用,不了解到同学可以 ... -
抛弃log4j改用logback
2011-11-04 14:09 8155公司的新平台最近日志总出问题: - 满容量后不自动备份,并且 ... -
JAVA 7 新特性
2011-08-02 17:25 1758Java 7 正式版已经发布,来看看新特性。(转载自OSC ... -
[转] DbUnit 入门
2011-05-19 10:35 926什么是dbunit以及为什 ... -
log4j 日志文件的相对路径
2011-03-31 20:36 1100日志文件生成在工程目录下经常可以省去很多麻烦。 网上参 ... -
Quartz 时间表达式
2011-03-15 17:55 1334最近用了下大名鼎鼎的quartz,基本能满足调度需求的变化了。 ... -
equinox web开发依赖包(jetty)
2010-11-06 19:07 1517今天尝试了下基于equinox的web开发,需要加入如下依赖包 ... -
Java游戏开发中应始终坚持的10项基本原则
2010-08-07 09:24 1256关于文章中涉及的两个杜撰概念:一、绘图器:众所周知,Ja ... -
Java游戏开发中怎样才能获得更快的FPS
2010-08-07 09:12 55众所周知,Java应用的 ... -
JPA 2.0 新特性
2010-06-28 15:04 953http://en.wikibooks.org/wiki/Ja ... -
获取bundle的绝对路径
2010-06-22 13:13 2134最近碰到个小麻烦,如何从bundle获取其绝对路径。 ... -
对比测试Java、Hessian、Burlap之序列化性能
2010-03-22 01:14 1891Hessian的序列化类型与Jav ...
相关推荐
标题 "利用JXL(JExcelApi)操作Excel文档" 涉及的是在Java环境中使用JXL库来读取、写入或修改Excel电子表格文件。JExcelApi(简称JXL)是一个开源的Java库,它提供了对Microsoft Excel文件格式的支持,使得开发者能够...
本教程将深入探讨如何利用JExcelAPI在Java应用程序中操作Excel。 首先,我们来了解一下`jxl.jar`,这是JExcelAPI的核心库文件。在你的项目中,你需要将这个jar文件添加到类路径(classpath)中,以便能够使用...
JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心...
**JExcelAPI(jxl):Java操作Excel的利器** JExcelAPI,简称为jxl,是一个用Java编写的开源库,它允许开发者在Java应用程序中读取、写入和修改Microsoft Excel文件。这个库非常实用,特别是在处理大量数据导入导出...
`jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Excel文件(.xls格式)。本篇将详细介绍如何利用`jxl`库来操作Excel文件,并结合实例说明如何从Excel文件中提取数据并生成TXT文件。 首先,我们需要...
"jxl模版生成excel" 指的是使用JExcelAPI(简称jxl)这个Java库来创建基于模板的Excel文件。JExcelAPI是一个开源项目,允许程序开发者读写Microsoft Excel文件,它支持从Java数据结构直接导出到Excel格式,同时也可...
本篇文章将深入探讨JXL库在操作Excel和数据库导出Excel文件方面的应用。 首先,我们来了解JXL的基本用法。JXL支持读取和写入Biff8格式的Excel文件(即97-2003版本的.XLS文件),这涵盖了大部分常见的Excel文件需求...
在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据导入导出、报表生成等领域...对于更复杂的需求,可能需要考虑使用其他库,如Apache POI,它提供了更丰富的功能来处理Excel文档,包括更精细的图像操作。
在本文中,我们将深入探讨如何使用JXL来操作Excel文件。 1. **安装与导入** 在项目中使用JXL,首先需要下载JXL库,可以从其官方网站或Maven仓库获取。然后将其jar文件添加到项目的类路径中。如果你使用的是Maven,...
JXL是一个韩国人写的Java操作Excel的工具,在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的,并不依赖Windows...
本篇文章将深入探讨如何使用jxl.jar库来实现Java操作Excel。 首先,jxl是一个广泛使用的Java库,它允许开发者读写Microsoft Excel文件。它的主要优势在于简单易用且功能丰富,支持多种Excel格式,包括老版本的.BIFF...
Java中的JXL库是一个广泛使用的库,用于读取和写入Microsoft Excel文件。这个库使得在Java应用程序中处理Excel数据变得简单,而无需依赖于Microsoft Office。以下是对JXL库在进行Excel读写操作时的一些关键知识点的...
本文将深入探讨如何使用JXL进行Excel的导入与导出。 一、JXL库介绍 JXL是一个开源的Java库,它支持读取和写入多种Excel文件格式,包括老版本的.BIFF8格式和较新的.XLSX格式。这个库不仅提供了对单元格、工作表和...
JXL库是一个广泛使用的开源库,它提供了方便的方式来读取、写入和操作Excel文件。下面我们将深入探讨如何使用JXL库实现导出Excel数据。 首先,你需要在你的项目中引入JXL库。可以通过Maven或Gradle来添加依赖,如果...
在本文中,我们将深入探讨如何使用JXL库来操作Excel文档。 首先,让我们了解Java与JXL库的基本交互。在开始之前,你需要将JXL库添加到你的项目依赖中。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml...
Java中的JExcelAPI是一个用于操作Microsoft Excel文件的库,尤其适用于需要在Java应用程序中读取、写入或修改Excel数据的场景。与Apache POI相比,JExcelAPI更轻量级,对中文支持良好,且不需要依赖Windows系统,...
本教程将详细介绍如何使用`jxl`库在导出Excel时添加水印,以及涉及的核心类`WritableWorkbook`、`WritableSheet`和`WritableCellFormat`。 `jxl`库提供了一套完整的API来操作Excel文件,包括创建新的工作簿、添加...
Java 使用 JXL 进行Excel导入导出是一个常见的任务,特别是在数据处理和分析场景中。JXL 是一个 Java 库,允许开发者方便地读取、写入和操作 Excel 文件(.xls 格式)。以下是对这个主题的详细阐述: 1. **JXL 概述...