一、简介
java Excel API 是允许java开发者读取生成Excel电子表格的开源java API,另外,它包括一个允许java应用读取Excel,修改一些单元格,写入一个新的电子表格的机制。 这组API 允许一个处理和递交Excel电子表格的纯java应用,在非windows操作系统下运行。因为基于java,这个api可以在一个servlet中被 调用;所以通过它在internet和企业内网的web应用可以访问Excel的功能;
二、特点:
1、读取Excel95,97,2000的数据;
2、读取和写入Excel97及以后版本的公式;
3、生成Excel2000格式的电子表格;
4、支持对字体,数字,日期的格式化;
5、支持对单元格加阴影和加色彩;
6、修改存在的工作表;
7、支持图片的创建;
8、日志记录可以定制;
三、局限性:
JExcelApi不能够生成和读取图表的信息;这个信息当图表被拷贝的时候仍然保存;当增加一个图片到表中,仅仅PNG格式被支持。(这部分我不懂)
四、开始使用:
这部分将用大量的演示程序来实例讲解关于这个api的使用;
1、读取工作表: 当读取工作表的时候,演示程序被用作在一种合理的方式下,按照原格式把Excel文件转化为CSV和XML格式;
java -jar jxl.jar -csv myspreadsheet.xls
要查看把表格转化为xml,调用下面的演示程序:
java -jar jxl.jar -xml myspreadsheet.xls
为了分别介绍xlrd/csv.java和xlrd/xml.java,需要进行更多的工作;这个类的使用仅仅是个开始; 从http://www.andykhan.com/jexcelapi/tutorial.html#reading 可以获得一个指南。
2、生成工作表 这个写入演示阐明了JExcelApi在生成工作表的中最容易理解的功能;工作表经过这个演示程序用不同的字体、数字格式、日期格式、改色、对边框的处 理; 生成演示工作表,
JExcelApi调用方法如下:
java -jar jxl.jar -write myspreadsheet.xls
这将在当前目录生成一个叫 myspreadsheet.xls 的示例工作表; 被用来生成工作表的类通常是jxl/Write.java。这也许会被用于一个显示过程的开始;
3、复制电子数据表 JexcelApi也可以被用于复制和修改工作表;包括JExcelApi的叫做jxlrwtest.xls电子数据表,是一个健壮的演示程序;如果通过 命令行来运行这个电子数据表,那么一个该电子数据表的拷贝将被生成,第二个工作表包括修改后的值。 不要修改演示的电子数据表,否则修改演示程序将不能运行。
从包含jxlrwtest.xls的目录运行该演示程序;
java -jar jxl.jar -rw jxlrwtest.xls myoutput.xls
演示程序将生成一个叫做myoutput.xls的电子数据表,第一个工作表(叫做“初始的”)是没有改变的,但是第二各工作表(叫做“修改的”)内的被 标题指定的单元格内容改变了。 有修改功能的类是jxl/ReadWrite.java。
五、运行环境
JExcelApi需要java2才可以运行。 当处理大的电子数据表的时候,通常使用复制的函数功能是被推荐的,用户分配足够的内存让java命令运行java虚拟机使用-Xms和-Xmx 选项。
六、安装
JExcelApi被打包压缩成一个tar文件,就像jexcelapi_2_0.tar.gz;
在UNIX系统中,用如下命令进行解压缩。
gunzip jexcelapi_2_0.tar.gz
接下来
tar xf jexcelapi_2_0.tar
在linux系统下用一条命令就可以解压缩
tar zxf jexcelapi_2_0.tar.gz
在windows系统中,通常要用类似Winzip的软件进行解压缩。
无论通过何种方式解压缩,这个应用都会被放到叫做jexcelapi的子目录下,最顶级的目录包括,html网页和准备编译的jar包, jxl.jar.docs目录下 包括公共类的文档资料,build目录下包括部署文件(需要ant),src目录包括java类的源码。
七、Excel版本
JExcelApi可以读取Excel95、97、2000创建的Excel文件,可以生成能够被Excel97以后版本读取的工作表。
八、许可
JExcelApi被允许在the GNU Lesser General Public License之内发行,详细情况请查看 http://www.gnu.org/copyleft/lesser.html
九、详细笔记
一个指南(http://www.andykhan.com/jexcelapi/tutorial.html)利于那些希望掌握这组API如何读取、写 入、拷贝电子数据表的人。
当输入电子数据表的时候JExcelApi在拷贝过程中对图表的支持是有限的, 只有它们(指前文的图表)不能通过API进行读取和输出。更为详细的技术信息,包括如何处理日期和unicode字符,请看http: //www.andykhan.com/jexcelapi/technotes.htm的技术文档。
JExcelApi的下载地址 :http://www.andykhan.com/jexcelapi/download.html
更改历史记录:http://www.andykhan.com/jexcelapi/changehistory.html