搜档网
当前位置:搜档网 › JXL操作EXCEL的常用类方法参数解析

JXL操作EXCEL的常用类方法参数解析

JXL操作EXCEL的常用类方法参数解析
JXL操作EXCEL的常用类方法参数解析

1. JXL操作EXCEL的常用类方法参数解析

Excel的生成方式其实很简单,主要包括几个大的类

首先最重要的几个类就是WritableWorkbook,这个类代表的就是一个Excel文档,使用过Excel文档的都应该知道Excel文档的组成,都是由一个一个的sheet组成的,那么这个sheet对应的java类就是WritableSheet。实际上就是这两个大类的组成,其他的一些小的类都是为了修饰WritableSheet里的内容的。

这些修饰类中用的最多的就是WritableFont ,

WritableCellFormat,以及Label类,这三个类构成了修WritableSheet的核心。

<一>抽象类Workbook

该类相当于是一个工具类用于生成Excel

方法:

(1)createWorkbook(File file)

createWorkbook(File file,Workbook in)

createWorkbook(java.io.OutputStream os)

提供了各种形式的产生Excel的方式

(2)findByName(String name)

该方法的作用是获得名称为name的Range的数组

(3)findCellByName(String name)

该方法的作用是根据name来获取对应的cell对象(4)getCell(String location)

该方法的作用是根据location来获得对应的cell对象(5)getNumberOfSheets()

该方法的作用是是获得sheet的总个数

(6)getRangeNames()

该方法的作用是获得所有Range对象名称的数组

(7)getSheet(int index)

该方法的作用是根据下标来获取对应的sheet对象

(8)getSheet(String name)

该方法的作用是根据sheet的名称来获得对应的sheet对象(9)getSheetNames()

该方法的作用是获得所有sheet的名称所在的数组(10)getSheets()

该方法的作用是获得所有sheet对象所在的数组

(11)getVersion()

该方法的作用是获得版本号

(12)getWorkbook(File file)

该方法的作用就是获得一个Excel对象

(13)getWorkbook(File file,WorkbookSettings wss)

该方法的作用是获取一个Excel对象

(14)isProtected()

该方法的作用是Excel是否是受保护的

<二>WritableWorkbook

该类是一个实际的可写的Workbook

(1)createSheet(https://www.sodocs.net/doc/bf11615502.html,ng.String name,int index)

该方法的作用是创建一个WorkSheet放在指定的位置

(2)copy (Workbook book)

该方法的作用是复制WritableWorkbook

(3)copySheet(int s,String name,int index)

该方法的作用是复制同一个workbook里处于s位置的sheet放到新的位置

index处

(4)findByName(String name)

该方法的作用是获得名称为name的Range对象的数组

(5)findCellByName(String name)

该方法的作用是获取名称为name的WritableCell对象

(6)getNumberOfSheets()

该方法的作用是获得workbook里sheet的个数

(7)getRangeNames()

该方法的作用是获得所有Range对象的名称所在的数组

(8)getSheet(int index)

该方法的作用根据位置获取WritableSheet

(9)getSheet(String name)

该方法的作用是根据名称来获去WritableSheet

(10)getSheetNames()

该方法的作用是获得workbook里的所有sheet的名称所在的数组

(11)getSheets()

该方法的作用是获得workbook里的所有的sheet所在的数组(12)importSheet(String name,int index, Sheet sheet)

该方法的作用是从另外一个workbook里倒入一个sheet

name为新生成的sheet的名称,index为新的sheet在当前workbook里所处的位置

(13)moveSheet(int from,int to)

该方法的作用是移动一个sheet从from位置到to位置

(14)removeRangeName(String name)

该方法的作用是移除名称为name的Range对象

(15)removeSheet(int index)

该方法的作用是移除在index位置的sheet对象

(16)setColorRGB(Colour c,int r,int g,int b)

该方法的作用是个workbook设置一定的颜色

(17)setOutputFile(File file)

该方法的作用不太明确

(18)setProtected(Boolean protected)

该方法的作用是设置workbook是否为被保护

(19)write()

该方法非常重要,也就是生成一个Excel文档

(20)close()

该方法非常重要,在最后需要调用这个方法,才能使生成的Excel有效生成,否则,不写此句的话将会导致生成的Excel文件在打开时提示“文件的格式与扩展名指定的格式不一致”

<三>接口WritableSheet

(1)addCell(WritableCell cell)

该方法的作用是添加单元格

需要注意的是一个Cell/Label只能使用一次

(2)addColumnPageBreak(int break)

该方法的作用不详

(3)addHyperlink(WritableHyperlink link)

该方法的作用是设置超链接

(4)addImage(WritableImage image)

该方法的作用是向Excel中添加图片

对于JExcelAPI来说只支持对PNG图片的操作,而POI的功能则会更加强大一些(5)addRowPageBreak(int break)

该方法的作用不详同addColumnPageBreak(int break)一样

(6)getImage(int i)

该方法的作用是获得sheet中的图片

(7)getNumberOfImages()

该方法的作用是获得sheet中的图片总数

(8)getWritableCell(int column,int row)

该方法的作用是获得具体的某个单元格

(9)getWritableHyperlinks()

该方法的作用是获得sheet里的所有超链接

(10)insertColumn(int col)

该方法的作用是添加一列

(11)insertRow(int row)

该方法的作用是添加一行

(12)mergeCells(int col1,int row1,int col2,int row2)

该方法的作用是合并单元格

其中参数指的是需要合并的两个单元格所处的位置,也就是合并这两个单元格之间的所有单元格

(13)removeColumn(int col)

该方法的作用是删除某一列

(14)removeHyperlink(Hyperlink link)

该方法的作用是删除某一个超链接

(15)removeImage(WritableImage image)

该方法的作用是删除图片

(16)removeRow(int row)

该方法的作用是删除一行

(17)setColumnGroup(int col1, int col2, boolean collapsed)

该方法的作用是设置一个column组

(18)setName(String sheetname)

该方法的作用是设置sheet的名称

(19)setRowGroup(int row1,int row2,Boolean collapsed) 该方法的作用是设置一个row组

(20)unmergeCells(Range r)

该方法的作用是合并单元格

(21)unsetColumnGroup(int col1,int col2)

该方法的作用是解除column组,该方法是相对于setColumnGroup方法(22)unsetRowGroup(int row1,int row2)

该方法的作用是解除row组,该方法是相对于setRowGroup方法的(23)setColumnView(int column,int width)

该方法的作用是设置一个某一列的宽度

(24)setRowView(int row,int height)

该方法的作用是设置某一行的高度

<四>接口WritableCell

(1) copyTo(int col,int row)

该方法的作用是深克隆某一行的某一列

(2)getWritableCellFeatures()

该方法的作用是获得WritableCellFeatures

(3)setCellFeatures(WritableCellFeatures wfs) 该方法的作用是设置WritableCellFeatures (4)setCellFormat(CellFormat cf)

该方法的作用是对列表进行格式排版

<五>WritableCellFeatures

<六>WritableFont

该类用于设定Excel的字体

(1)构造函数

a. WritableFont(Font f)

b. WritableFont(WritableFont.fontName fn)

根据WritableFont的常量来创建WritableFont

c. WritableFont(WritableFont.fontName fn, int size)

根据WritableFont的常量以及字体的大小来创建WritableFont

d. WritableFont(WritableFont.fontName fn, int size, WritableFont.BoldStyle fb)

根据WritableFont的常量、字体的大小以及字体的粗细来创建WritableFont

e. WritableFont(WritableFont.fontName fn, int size, WritableFont.BoldStyle fb, boolean italic)

根据WritableFont的常量、字体的大小、字体的粗细以及是否斜体来创

建WritableFont

f.WritableFont(WritableFont.FontName fn,int ps,

jxl.write.WritableFont.BoldStyle bs,boolean it, UnderlineStyle us)

根据WritableFont的常量,字体的大小,字体的粗细,是否斜体,下划线样式来创建WritableFont

g. WritableFont(WritableFont.FontName fn,

int ps,jxl.write.WritableFont.BoldStyle bs,

boolean it, UnderlineStyle us, Colour c)

根据WritableFont的常量,字体的大小,字体的粗细,是否斜体,下划线样式以及颜色来创建WritableFont

h. WritableFont(WritableFont.FontName fn,

int ps,jxl.write.WritableFont.BoldStyle bs,

boolean it, UnderlineStyle us, Colour c, ScriptStyle ss) 根据WritableFont的常量,字体的大小,字体的粗细,是否斜体,下划线样式,颜色以及脚本来创建WritableFont

(2)createFont(https://www.sodocs.net/doc/bf11615502.html,ng.String fontName)

该方法的作用是根据名称来设置Excel的title的字体

(3)setBoldStyle(BoldStyle boldStyle)

该方法的作用是设置Excel的title字体的粗细,但是对应的值只有两个WritableFont.BOLD和WritableFont.NO_BOLD

(4)setColor(Color color)

该方法的作用是设置Excel的title字体的颜色

(5)setItalic(Boolean italic)

该方法的作用是设置Excel的title字体是否为斜体

(6)setPointSize(int size)

该方法的作用是设置Excel的title字体的大小

(7)setScriptStyle(ScriptStyle ss)

该方法的作用是设置Excel的title的效果,有三个值可供选择ScriptStyle.SUBSCRIPT,ScriptStyle.SUPSCRIPT,

ScriptStyle.NOMAL_SCRIPT

例如如果设置setScriptStyle(ScriptStyle.SUPSCRIPT)是如下效果

如果设置为SUBSCRIPT的话就是如下的样式

如果不做设置的话,即默认为NOMAL_SCRIPT则为如下所示

(8)setUnderlineStyle(UnderlineStyle us)

该方法的作用是设置下划线的样式

存在以下值可供选择

UnderlineStyle.DOUBLE

UnderlineStyle.DOUBLE_ACCOUNTING

UnderlineStyle.NO_UNDERLINE

UnderlineStyle.SINGLE

UnderlineStyle.SINGLE_ACCOUNTING

从上面的结果可以得出SINGLE和DOUBLE只是在字体范围内加下划线,而SINGLE_ACCOUNTING和DOUBLE_ACCOUNTING则是在整个标题的范围内加下划线

<六>类Label

该类的作用是设置列里的文本信息,此类实现了WritableCell接口

(1)构造函数

a. Label(int c, int r ,https://www.sodocs.net/doc/bf11615502.html,ng.String cont)

设置指定的行列的文本信息

b. Label(int c,int r,https://www.sodocs.net/doc/bf11615502.html,ng.String cont,CellFormat st)

设置指定的行列的的文本信息以及列的格式(这个构造是用的比较多的)

c. Label(LabelCell lc)

根据LabelCell创建Label

(2)copyTo(int c, int r)

该方法的作用是深克隆指定的某一行的某一列

(3)setString(String content)

该方法的作用是设置某一列的内容

<七>类WritableCellFormat

该类的作用是设置列表的格式

尤其要注意的是在实际的使用过程中WritableCellFormat是同WritableFont,Label 共同使用的

例如:

WritableWorkbook book=Workbook.createWorkbook(new File(String path));WritableSheet sheet=book.createSheet(String sheetname,int index);

WritableFont font=new WritableFont(WritableFont.fontname ,

fontsize,BoldStyle.boldstylename);

WritableCellFormat format=new WritableCellFormat(font);

Label label=new Label(int column,int row,String content,WritableCellFormat format);

sheet.addCell(label);

(1)构造函数

a. WritableCellFormat()

默认的构造函数

b. WritableCellFormat(CellFormat format)

c. WritableCellFormat(DisplayFormat format)

d. WritableCellFormat(WritableFont font)

e. WritableCellFormat(WritableFont font,DisplayFormat format)(2)setAlignment(Alignment align)

该方法的作用是设置表格的对齐方式

可供选择的值有

jxl.format.Alignment.CENTRE

jxl.format.Alignment.FILL

jxl.format.Alignment.GENERAL

jxl.format.Alignment.JUSTIFY

jxl.format.Alignment.LEFT

jxl.format.Alignment.RIGHT

(3)setBackground(Colour c)

该方法的作用是设置cell的背景颜色

可选的值均为Colour的常量对象

(4)setBackground(Colour c,Pattern p) 该方法的作用是设置cell的背景颜色和形式(5)setBorder(Border b,BorderLineStyle bs) 该方法的作用是设置Border

JXL入门常用格式设置

创建 //输出流 OutputStream os = new FileOutputStream(“D:\\test.xls”); //创建workbook WritableWorkbook workbook= Workbook.createWorkbook(os); //创建一个sheet 参数(sheetName ,sheetNumber)下标0开始代表第一页WritableSheet sheet = workbook.createSheet(“第一个sheet”, 0); 宽度、高度、和并单元格 //设置列的默认列宽(所有单元格) sheet.getSettings().setDefaultColumnWidth(9); //设置列的默认行高(所有单元格) sheet.getSettings().setDefaultRowHeight(500); //宽度设定第一列宽16 下标0开始代表第一列 sheet.setColumnView(0, 16); //高度设定第一行高度700 sheet.setRowView(0, 700); //单元格合并开始列号,开始行号,结束列号,结束行号 sheet.mergeCells(0, 0, 31, 0); 文字格式: 字体、大小、背景色、对齐、边框线、自动换行 想使用自己定义的颜色请关注本人百度空间实现方法。 //生成字体字体MSPゴシック18号非粗体非斜体(字体在Excle中复制) WritableFont font = new WritableFont(WritableFont.createFont("MSPゴシック"), 18, WritableFont.NO_BOLD, false); //生成格式 WritableCellFormat format= new WritableCellFormat(); //向格式中加入字体 format.setFont(font); //背景色 format .setBackground(Colour.BLUE)

java导入导出excel操作

java导入导出excel操作(jxl) Java解释Excel数据(包的使用) 关键字: java excel 包 下载地址: 真实下载地址: 网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java 的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel 文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 搭建环境 将下载后的文件解包,得到,放入classpath,安装就完成了。 基本操作 一、创建文件 拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下: Java代码 /* * Created on Dec 30, 2007 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ package ; import .*; import jxl.*; import .*;

/** * @author Ken * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class CreateXLS { public static void main(String[] args) { try { WritableWorkbook book = (new File("d:/")); 0 means this is 1st page. WritableSheet sheet = ("Sheet_1", 0); value is "test". Label label = new Label(0, 0, "test"); (label); WARN:necessarily use integrated package-path, otherwise will be throws path -error. value is . number = new0, ; (number); (); (); } catch (Exception e) { (); } } } 编译执行后,会在当前位置产生一个Excel文件。 二、读取文件 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:

Java实现Excel数据导入和导出的研究与应用

Java实现Excel数据导入导出的研究与应用 王晶晶 北京邮电大学网络教育学院(100088) E-mail:bolalisi_double@https://www.sodocs.net/doc/bf11615502.html, 摘要:Excel能够通过功能强大的工具将杂乱的数据组织成有用的信息,然后分析、交流和共享所得到的结果。很多系统由于存在着大量需要处理的数据,Excel本身强大的功能使得它成为处理分析这些数据首选的工具。随着Java语言成为越来越多系统的开发语言,利用Java进行Excel的数据导入导出在很多系统中都发挥着重要的作用,本文主要介绍了Jxl API的主要功能,并结合实例探讨了利用Jxl API操作Excel数据的导入和导出。 关键字:Java;Excel; Jxl API;数据导入导出 中图分类号:TP312文献标识码:A 1. 引言 MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。在远程网络教学系统中,利用Excel表格统计学生的作业考试情况信息,便于老师了解学生的学习情况,分析教学效果,制定教学计划。所以,用Java操作Excel表格,导出相关的信息对于远程网络教育系统有着的很重要的意义。 在开源世界中,有两套比较有影响的API提供Excel数据导入导出的功能,一个是POI,一个是jExcelAPI。本文结合基于J2EE开发的多媒体教学系统中提供的将学生作业信息导出到Excel表格中的实例,详细阐述了利用JAVA开发的jExcelAPI操作excel的方法。 2. Jxl 简介 2.1 Java语言简介 Java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为强大的编程语言[1]。它具有以下一些特点[2]:简单,面向对象,分布式,解释执行,鲁棒,安全,体系结构中立,可移植,高性能,多线程以及动态性。 2.2什么是Jxl Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该 API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、 Servlet来调用API实现对Excel数据表的访问。 Jxl发布的稳定版本是V2.0,提供以下功能: 从Excel 95、97、2000等格式的文件中读取数据[3]; 读取Excel公式(可以读取Excel 97以后的公式)[3];

jxl.jar使用方法

jxl.jar 通过java操作excel表格的工具类库 支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 搭建环境 将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。 基本操作 一、创建文件 拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下: 代码(CreateXLS.java): //生成Excel的类 import java.io.*; import jxl.*; import https://www.sodocs.net/doc/bf11615502.html,bel; import jxl.write.Number; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class CreateXLS { public static void main(String args[]) { try {

// 打开文件 WritableWorkbook book = Workbook.createWorkbook(new File("测试.xls")); // 生成名为“第一页”的工作表,参数0表示这是第一页 WritableSheet sheet = book.createSheet("第一页", 0); // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0) // 以及单元格内容为test Label label = new Label(0, 0, "test"); // 将定义好的单元格添加到工作表中 sheet.addCell(label); /* * 生成一个保存数字的单元格必须使用Number的完整包路径,否则有语法歧义单元格位置是第二列,第一行,值为789.123 */ Number number = new Number(1, 0, 789.123); sheet.addCell(number); // 写入数据并关闭文件 book.write(); book.close(); } catch (Exception e) { System.out.println(e); } } } 编译执行后,会在当前位置产生一个Excel文件。 二、读取文件 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:import java.io.*; import jxl.*; public class ReadXLS { public static void main(String args[]) { try { Workbook book = Workbook.getWorkbook(new File("测试.xls")); // 获得第一个工作表对象

jxl使用说明文档

jxl.jar概述 通过java操作excel表格的工具类库 支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 编辑本段搭建环境 将下载后的文件解包,得到JXL.JAR,放入classpath,安装就完成了。如果包不能正常的加载,可以把你下载好的JXL.JAR包放入D:\JAVA\jre\lib\ext 中(我的是JDK1.6)就OK了。我相信在配置TOMCAT时也需要把相关的三个包放到这里面。 编辑本段基本操作 一、创建文件 拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下: 代码(CreateXLS.java): //生成Excel的类 import java.io.*; import jxl.*; import jxl.write.*; public class CreateXLS { public static void main(String args[]) { try { //打开文件 WritableWorkbook book= Workbook.createWorkbook(new File(“测试.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,789.123); sheet.addCell(number); //写入数据并关闭文件 book.write(); book.close(); }catch(Exception e) { System.out.println(e); } } } 编译执行后,会在当前位置产生一个Excel文件。 二、读取文件 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下://读取Excel的类 import java.io.*; import jxl.*; public class ReadXLS { public static void main(String args[]) { try { Workbook book= Workbook.getWorkbook(new File(“测试.xls”)); //获得第一个工作表对象 Sheet sheet=book.getSheet(0); //得到第一列第一行的单元格 Cell cell1=sheet.getCell(0,0); String result=cell1.getContents(); System.out.println(result); book.close();

使用JAVA存储过程导入EXCEL文件操作指南

利用JAV A存储过程进行EXCEL导入 导入思路 顾问提供的PO导入FORM已经给了我们一个导入数据到系统的一个模板,基本能够满足我们的要求,该FORM主要完成以下动作: 1.显示文件上传页面给用户选择文件 2.将文本文件以字符流的形式存入到fnd_lobs表的BLOB字段 3.从BLOB字段读取数据,通过逗号分割(,)的方式从BLOB字段获取每个字段的值 4.存入系统临时表进行后续的导入处理 该方法的主要缺点在于需要用户手工将EXCEL文件存为.csv文件(即普通.txt文件),以及通过逗号分割进行解析字符流的方式进行文本文件的处理,如果用户提供的EXCEL单元格的数据中有逗号(,),则解析会出错。 该方法可以利用JAV A存储过程进行改进为: 1.在上传页面用户直接上传EXCEL文件 2.将文本文件以字符流的形式存入到fnd_lobs表的BLOB字段 3.以BLOB字段作为文件输入流,调用JAV A存储过程获取EXCEL文件内容 4.存入系统临时表进行后续的导入处理 在新方法的第3步中,调用JAV A类型的存储过程,引用处理EXCEL的JAV A API进行文件内容的读取。由于是直接解析EXCEL文件,可以减少出错的概率,另外也可以通过对API 进行替换的方式来处理其他类型的文件,如WORD或XML文件等。 导入实现 具体细节部分请参照附件的XXEXCELIMPORT.fmb文件,以下部分只说明主要步骤。 创建FORM 1.创建临时表块以及上传功能按钮 2.添加上传文件功能, 以上FORM部分具体参照顾问提供的PO导入FORM以及其中的文件上传程序段UPLOAD_FILE

Jxl.jar(导入导出Excel)简单运用

Jxl.jar 简单运用 1.1jxl.jar 包简介 下载地址:https://www.sodocs.net/doc/bf11615502.html,/jexcelapi/ 特征: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 1.2搭建环境 将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。 2jxlr的基本运用 2.1创建文件 生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下: 代码(CreateXLS.java): import java.io.*; import jxl.*; import jxl.write.*; public class CreateXLS { public static void main(String args[]) { try { //打开文件 WritableWorkbook book= Workbook.createWorkbook(new File(“测试.xls”)); //生成名为“第一页”的工作表,参数0表示这是第一页 WritableSheet sheet=book.createSheet(“第一页”,0); //在Label对象的构造子中指名单元格位置是第一列第一行(0,0) //以及单元格内容为test Label label=new Label(0,0,”test”); //或者WritableCell cell = new jxl.write.Number(column, row, value, wcf) //将定义好的单元格添加到工作表中 sheet.addCell(label);

Java读取Excel文件的几种方法

Java读取Excel文件的几种方法 最近单位有个项目需要读取excel文件的内容,特别对java读取excel文件的方法做了一点学习,也为了其他人以后能更简单地开发,少走弯路,特写此文,以下程序经过了我的测试,可以保证程序可用,如果你照搬都不行,可能是你的环境有问题。 读取excel文件的常用开源免费方法有以下几种: JDBC-ODBC Excel Driver jxl.jar jcom.jar poi.jar 下面分别对这几种方法分别进行探讨 1、JDBC-ODBC Excel Driver 这种方法是将excel看成是数据库进行操作,使用SQL Select语句即可 查询excel表格。优点是:不需要第三方的jar包。 如下表样 首先在控制面板进行数据源ODBC登记 具体方法如下:

下面就是代码了。 package xuzhe;

import java.io.*; import java.sql.*; //java xuzhe.ExcelJDBC public class ExcelJDBC { public static void main(String[] args) throws SQLException{ Connection con = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection( "jdbc:odbc:ExcelJDBC" ); Statement st = con.createStatement(); ResultSet rs = st.executeQuery( "Select * from [Sheet1$]" ); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); System.out.println ("表格列数"+numberOfColumns ); System.out.println( rsmd.getColumnName(1)+ "," + rsmd.getColumnName(2) + "," + rsmd.getColumnName(3)); while (rs.next()) { for (int i = 1; i <= numberOfColumns; i++) { if (i > 1) System.out.print(", "); String columnValue = rs.getString(i); System.out.print(columnValue); } System.out.println(""); } rs.close(); st.close(); } catch(Exception ex) { System.err.print("Exception: "); System.err.println(ex.getMessage()); } finally { con.close(); } } } 执行结果如下:

Java Excel API

JXL简介 JXL(Java Excel API)是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java 编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。 可以分别通过如下命令: java -jar jxl.jar -xml test.xls java -jar jxl.jar -cvs test.xls 以xml和cvs格式查看test.xls,这是因为JXL作者实现了一个用来演示的jxl.demo.Demo的类。 从Excel文件读取数据表 Excel文件中的对象:1 文件对象2工作簿对象3 单元格对象。相应的在JXL中就有Workbook,Sheet ,Cell 。通过这三个对象我们就可以实现Excel文件的读取工作。 Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。 通过Workbook的静态方法getWorkbook选取Excel文件 //直接从本地文件创建Workbook Workbook workbook = Workbook.getWorkbook(new File("myfile.xls")); //从输入流创建Workbook InputStream input = new FileInputStream("myfile.xls"); Workbook workbook = Workbook.getWorkbook(input); 既可以通过工作表的名称来访问工作表,也可以通过下标来访问。 //通过Workbook的getSheet方法选择第一个工作表(从0开始) Sheet sheet = workbook.getSheet(0); //通过Sheet方法的getCell方法选择位置为C2的单元格(两个参数都从0开始) Cell cell = sheet.getCell(2,1); //通过Cell的getContents()方法可以将任何类型的Cell值都作为一个字符串返回 String value = cell.getContents(); Cell 提供了一个getType方法能够返回单元格的类型信息,同时JXL提供了一个CellType类用来预设Excel中的类型信息,而且JXL提供了一些Cell类的子类用来分别用来表示各种类型的单元格,如LabelCell,NumberCell,DateCell 分别表示字符、数值、日期类型的单元格。在得到Cell对象后,通过getType()方法可以获得该单元格的类型,然后与API提供的基本类型相匹配,强制转换成相应的类型,最后调用相应的取值方法getXXX(),就可以得到确定类型的值。if (cell.getType() == https://www.sodocs.net/doc/bf11615502.html,BEL) { LabelCell l abelCell = (LabelCell) cell; labelCell.getString(); } else if (cell.getType() == CellType.NUMBER) { NumberCell numberCell = (NumberCell) cell; numberCell.getValue(); } else if (cell.getType() == CellType.DA TE) { DateCell dateCell = (DateCell) cell; dateCell.getDate(); } 当你完成对Excel电子表格数据的处理后,一定要使用close()方法来关闭先前创建的对象,以释放读取数据表的过程中所占用的内存空间,在读取大量数据时显得尤为重要。 //操作完成时,关闭对象,释放占用的内存空间 workbook.close(); Java Excel API提供了许多访问Excel数据表的方法。 Workbook类提供的方法: int getNumberOfSheets() 获得工作薄(Workbook)中工作表(Sheet)的个数。 Sheet[] getSheets() 返回工作薄(Workbook)中工作表(Sheet)对象数组。

用JAVA Excel API 实现对Excel表格的读写更新

http:https://www.sodocs.net/doc/bf11615502.html, package myexceltest; import jxl.*; import Java.io.*; import jxl.write.*; /** * java读取Excel表格,拷贝、更新Excel工作薄 * Description: Java开发人员可以读取Excel文件的内容,更新Excel工作薄,开发人员 * 也可以用程序生成新的Excel表格,不过我觉得在我们工作中几乎没有这方面需求,我 * 就不再列出来了,如果有哪位同事需要的话,我再把程序写出来 * * Copyright: Copyright (c) KongZhong Corparation 2005 * 程序开发环境为jb9 * @author 张丽鹏 * @version 1.0 */ public class Test1 { public static void main(String[] args) { jxl.Workbook rwb = null; try{ //构建Workbook对象, 只读Workbook对象 //直接从本地文件创建Workbook //从输入流创建Workbook InputStream is = new FileInputStream("D:/jb9Test/MyExcelTest/Book1.xls"); rwb = Workbook.getWorkbook(is); //Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中 //Sheet的下标是从0开始

jxl基本操作

熟悉JXL的概念:工作簿Workbook 、工作表sheet、单元格cell // 1. 创建Workbook工作薄 //使用file对象 File file = new File("E:/student.xls"); Workbook wb = Workbook.getWorkbook(file); // 使用input InputStream input = new FileInputStream(file); Workbook wb = Workbook.getWorkbook(input); // 2. 获取Sheet工作表 wb.getNumberOfSheets(); //sheet个数 wb.getSheets().length; //sheet个数 wb.getSheet(0).getName(); //获取sheet wb.getSheet("Sheet1").getName(); //sheet的名称 // 行/列数 sheet.getRows(); sheet.getColumns(); // 该行/列的单元格:cell[] sheet.getRow(0).length; sheet.getColumn(0).length; Cell cell = sheet.getCell(0, 0); cell.getContents(); //单元格内容String // cell的类型 cell.getType() == https://www.sodocs.net/doc/bf11615502.html,BEL//class:LABEL 单元格的类型:LabelCell ,NumberCell 等,无须进行数据类型的转换。 File file = new File("E:/student.xls"); Workbook wb = Workbook.getWorkbook(file); Sheet sheet = wb.getSheet(0); int rows = sheet.getRows(); int cols = sheet.getColumns(); for (int row = 0; row < rows; row++) { for (int col = 0; col < cols; col++) { Cell cell = sheet.getCell(col, row); //注意:行列互换 // System.out.println(cell.getContents()); // 转换成相应的数据类型:无须进行“数据类型的转换”

JXL文档说明 JAVA EXCEL API 说明手册

Java excel API说明手册 作者:Rubber 整理:calf 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵Excel 文件并不是一件容易的事。在Web应用日益盛行的今天,通过Web来操作Excel文件的需求越来越强烈,目前较为流行的操作是在JSP或Servlet中创建一个CSV(comma separated values)文件,并将这个文件以MIME,text/csv类型返回给浏览器,接着浏览器调用Excel并且显示CSV文件。这样只是说可以访问到Excel文件,但是还不能真正的操纵Excel文件,本文将给大家一个惊喜,向大家介绍一个开放源码项目,Java Excel API,使用它大家就可以方便地操纵Excel文件了。 JAVA EXCEL API简介 Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel 文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel 数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel 数据表的访问。 现在发布的稳定版本是V2.0,提供以下功能: ?从Excel95、97、2000等格式的文件中读取数据; ?读取Excel公式(可以读取Excel97以后的公式); ?生成Excel数据表(格式为Excel97); ?支持字体、数字、日期的格式化; ?支持单元格的阴影操作,以及颜色操作; ?修改已经存在的数据表; 现在还不支持以下功能,但不久就会提供了: 1.不能够读取图表信息; 2.可以读,但是不能生成公式,任何类型公式最后的计算值都可以读出; 应用示例 1从Excel文件读取数据表 Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。读取Excel数据表的第一步是创建Workbook(术语:工作薄),下面的代码片段举例说明了应该如何操作:(完整代码见ExcelReading.java)

java导出excel案例

JA V A实现EXCEL的导入和导出(四) JA V A EXCEL API简介 Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。 现在发布的稳定版本是V2.0,提供以下功能: * 从Excel 95、97、2000等格式的文件中读取数据; * 读取Excel公式(可以读取Excel 97以后的公式); * 生成Excel数据表(格式为Excel 97); * 支持字体、数字、日期的格式化; * 支持单元格的阴影操作,以及颜色操作; * 修改已经存在的数据表; 现在还不支持以下功能,但不久就会提供了: 1. 不能够读取图表信息; 2. 可以读,但是不能生成公式,任何类型公式最后的计算值都可以读出; 回页首 应用示例 1 从Excel文件读取数据表 Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。读取Excel数据表的第一步是创建Workbook(术语:工作薄),下面的代码片段举例说明了应该如何操作:(完整代码见ExcelReading.java) import java.io.*; import jxl.*; … … … … try { //构建Workbook对象, 只读Workbook对象 //直接从本地文件创建Workbook //从输入流创建Workbook InputStream is = new FileInputStream(sourcefile); jxl.Workbook rwb = Workbook.getWorkbook(is); } catch (Exception e) { e.printStackTrace();

JXL操作EXCEL的常用类方法参数解析

1. JXL操作EXCEL的常用类方法参数解析 Excel的生成方式其实很简单,主要包括几个大的类 首先最重要的几个类就是WritableWorkbook,这个类代表的就是一个Excel文档,使用过Excel文档的都应该知道Excel文档的组成,都是由一个一个的sheet组成的,那么这个sheet对应的java类就是WritableSheet。实际上就是这两个大类的组成,其他的一些小的类都是为了修饰WritableSheet里的内容的。 这些修饰类中用的最多的就是WritableFont , WritableCellFormat,以及Label类,这三个类构成了修WritableSheet的核心。 <一>抽象类Workbook 该类相当于是一个工具类用于生成Excel 方法: (1)createWorkbook(File file) createWorkbook(File file,Workbook in) createWorkbook(java.io.OutputStream os) 提供了各种形式的产生Excel的方式 (2)findByName(String name) 该方法的作用是获得名称为name的Range的数组

(3)findCellByName(String name) 该方法的作用是根据name来获取对应的cell对象(4)getCell(String location) 该方法的作用是根据location来获得对应的cell对象(5)getNumberOfSheets() 该方法的作用是是获得sheet的总个数 (6)getRangeNames() 该方法的作用是获得所有Range对象名称的数组 (7)getSheet(int index) 该方法的作用是根据下标来获取对应的sheet对象 (8)getSheet(String name) 该方法的作用是根据sheet的名称来获得对应的sheet对象(9)getSheetNames() 该方法的作用是获得所有sheet的名称所在的数组(10)getSheets() 该方法的作用是获得所有sheet对象所在的数组

java操作EXCEL表格经典例子详解

Microsoft的Office系列产品拥有大量的用户,Word、Excel也成为办公文件的首选。在Java 中,已经有很多对于Word、Excel的开源的解决方案,其中比较出色的是Apache的Jakata 项目的POI子项目。该项目的官方网站是https://www.sodocs.net/doc/bf11615502.html,/poi/。 POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Document Format的各种格式文件,可以通过这些API在Java中读写Excel、Word等文件。POI是完全的Java Excel 和Java Word解决方案。POI子项目包括:POIFS、HSSF、HDF、HPSF。表7-2对它们进行了简要介绍。 表7-2 POI子项目介绍 子项目名 说明 POIFS(POI File System) POIFS是POI项目中最早的最基础的一个模块,是Java到OLE 2 Compound Document Format 的接口,支持读写功能,所有的其他项目都依赖与该项目。 HSSF(Horrible Spreadsheet Format) HSSF是Java到Microsoft Excel 97(-2002)文件的接口,支持读写功能 HWPF(Horrible Word Processing Format) HWPF是Java到Microsoft Word 97文件的接口,支持读写功能,但目前该模块还处于刚开始开发阶段,只能实现一些简单文件的操作,在后续版本中,会提供更强大的支持 HPSF(Horrible Property Set Format) HPSF 是Java到OLE 2 Compound Document Format文件的属性设置的接口,属性设置通常用来设置文档的属性(标题,作者,最后修改日期等),还可以设置用户定义的属性。HPSF支持读写功能,当前发布版本中直支持读功能。 7.3.1 对Excel的处理类 下面通过HSSF提供的接口对Excel文件经行处理。首先需要下载POI的包,可以到apache 的官方网站下载,地址为:https://www.sodocs.net/doc/bf11615502.html,/jakarta/poi/,本书采用的是 poi-2.5.1-final-20040804.jar,读者可以下载当前的稳定版本。把下载的包按照前面介绍的方式加入Build Path,然后新建一个ch7.poi包,并创建一个ExcelReader类。 ExcelReader类可以读取一个XLS文件,然后将其内容逐行提取出来,写入文本文件。其代码如下。 代码7.6 public class ExcelReader {

java制作Excel报表简单易用(拿来即用)

java制作Excel报表简单易用 本程序是java程序 本程序是通过jxl.jar来实现的。 最下面会贴出代码 完整例子下载(我放在百度云盘了): https://www.sodocs.net/doc/bf11615502.html,/share/link?shareid=2430244382&uk=2232193761 里面包括:java源码,jxl.jar 编译后的.class,文档说明文件(如果不需要jar包的话,就可以直接复制下面的源码即可,无需下载了) ,后续会添加java Web 项目,实现在servlet中调用写的例子生成excel并下载excel 功能。 简单的讲下如何使用: 直接将DoExcelHelper.java放入到项目中修改下package的名就行了。 怎么样使用DoExcelHelper这个类: 具体的请看DoExcelHelper.java的main方法(也可直接运行main方法,但要注意修改文件保存的路径,不然就会找不到路径哦)。 方法说明: setTitle(String)方法是添加报表最顶部的标题的。

setF_name(String[])添加参数的(key) setF_value(String[])添加参数值的(value),请与参数对应即:key:value setIsVerticalFreeze(boolean);//是否对header进行冻结,让表头随着滚动条而滚动。默认:false setHeader(String[])方法是添加要显示的内容的标题的,就好比是table标题(thead). 最后调用write(list,"F:/workspace/TestFolder/workOrder.xls");//第一个参数:数据集合(List

java如何读取Excel中的数据

下面是例子: import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; /** * 读取excel公共方法 * * */ public class ExcelReader { /** * * @param excelFile 读取文件对象 * @param rowNum 从第几行开始读,如果有一行表头则从第二行开始读 * @return * @throws BiffException * @throws IOException */ public static List readExcel(File excelFile,int rowNum) throws BiffException, IOException { // 创建一个list 用来存储读取的内容 List list = new ArrayList(); Workbook rwb = null; Cell cell = null; // 创建输入流 InputStream stream = new FileInputStream(excelFile); // 获取Excel文件对象 rwb = Workbook.getWorkbook(stream); // 获取文件的指定工作表默认的第一个 Sheet sheet = rwb.getSheet(0); // 行数(表头的目录不需要,从1开始) for (int i = rowNum-1; i < sheet.getRows(); i++) {

相关主题