jxl写excel,jxl导出excel实例

jxl写excel,jxl导出excel实例,java 中JXL操作Excel实例详解

本文主要介绍java中JXL操作Excel实例的相关信息,有需要的朋友可以参考一下。

JXL操作Excel

前言:

Jxl是韩国人写的用java操作excel的工具。在开源世界中,有两套有影响力的API可用,一套是POI,另一套是jExcelAPI。其中功能弱于POI。不过jExcelAPI很支持中文。API是纯Java的,不依赖于Windows系统。即使在Linux下运行,也能正确处理Excel文件。另外需要注意的是,这个API对图形和图表的支持有限,只识别PNG格式。

按如下方式使用:

构建环境

解压下载的文件,得到jxl.jar,放入类路径,安装完成。

基本操作

一、创建文件

建议生成一个名为“test.xls”的Excel文件,其中第一张工作表命名为“第一页”。大致效果如下:

包装测试;

//生成Excel的类

导入Java . io . file;

导入jxl。工作簿;

导入jxl . write . label;

导入jxl . write . writable sheet;

导入jxl . write . writable workbook;

公共类CreateExcel {

公共静态void main(String args[]) {

尝试{

//打开文件

writable workbook book=workbook . create workbook(新文件(' test . xls '));

//生成名为“第一页”的工作表,参数0表示这是第一页

wrish sheet sheet=book . create sheet('第一页',0);

Label对象构造函数中的命名单元格位置是第一列第一行(0,0)

//并且单元格内容是test

Label label=新标签(0,0,' test ');

//将定义的单元格添加到工作表中

sheet.addCell(标签);

/*

*要生成保存数字的单元格,必须使用数字的完整包路径;否则,语法不明确的单元格位置是第二列第一行,值为789.123。

*/

jxl . write . number number=new jxl . write . number(1,0,555.12541);

sheet.addCell(数字);

//写入数据并关闭文件

book . write();

book . close();

} catch(异常e) {

system . out . println(e);

}

}

}

编译后,将生成一个Excel文件。

三、读取文件

以我们刚刚创建的Excel文件为例,做一个简单的读取操作。程序代码如下:

包装测试;

//读取Excel的类

导入Java . io . file;

导入jxl。细胞;

导入jxl。床单;

导入jxl。工作簿;

公共类ReadExcel {

公共静态void main(String args[]) {

尝试{

workbook book=workbook . get workbook(新文件(' test . xls '));

//获取第一个工作表对象

sheet sheet=book . get sheet(0);

//获取第一列第一行的单元格

Cell cell1=sheet.getCell( 0,0);

字符串result=cell 1 . get contents();

System.out.println(结果);

book . close();

} catch(异常e) {

system . out . println(e);

}

}

}

程序执行结果:测试

四。修改文档

您可以使用jExcelAPI修改现有的Excel文件。修改Excel文件时,除了打开文件的方式不同,其他操作与创建Excel相同。以下示例是将工作表添加到我们生成的Excel文件中:

包装测试;

导入Java . io . file;

导入jxl。工作簿;

导入jxl . write . label;

导入jxl . write . writable sheet;

导入jxl . write . writable workbook;

公共类UpdateExcel {

公共静态void main(String args[]) {

尝试{

//Excel获取文件

workbook WB=workbook . get workbook(新文件(' test . xls '));

//打开文件的副本,并将指定的数据写回原始文件。

writable workbook book=workbook . create workbook(新文件(' test.xls '),

WB);

//添加工作表

wrist sheet sheet=book . create sheet(' page 2 ',1);

Sheet.addCell( new Label( 0,0,'第二页测试数据'));

book . write();

book . close();

} catch(异常e) {

system . out . println(e);

}

}

}

其他操作

首先,数据格式化

Excel不涉及复杂的数据类型,对字符串、数字、日期的处理都很好,已经可以满足一般的应用。

1.字符串格式

字符串的格式涉及字体、粗细、字号等元素。这些函数主要由WritableFont和WritableCellFormat类负责。假设当我们生成一个包含字符串的单元格时,我们使用下面的语句。为了叙述方便,我们对每行命令进行了编号:

可书写字体font1=

新的WritableFont(WritableFont。时代,16,可写字体。粗体);

WritableCellFormat format 1=new WritableCellFormat(font 1);

Label label=新标签(0,0,“数据4测试”,格式1)

指定字符串格式:字体为TIMES,字号为16,以粗体显示。WritableFont有非常丰富的构造函数,可以用在不同的场合。jExcelAPI的java-doc里有详细列表,这里不一一列举。

本节代码使用了WritableCellFormat类,这个类非常重要。它可以指定单元格的各种属性。后面的单元格格式化会有更多的描述。

使用了Label class的构造函数,它指定了字符串的给定格式。

在WritableCellFormat类中,另一个重要的方法是指定数据的对齐方式,比如对我们来说。

上面的例子中,你可以指定:

//将水平对齐指定为中心

format 1 . set alignment(jxl . format . alignment . centre);

//将垂直对齐指定为中心

format 1 . setvertical alignment(jxl . format . vertical alignment . centre);

二、单元格操作

Excel的一个重要部分就是单元格的操作,比如行高、列宽、单元格合并等。幸运的是,jExcelAPI提供了这些支持。这些操作相对简单。下面简单介绍一下相关的API。

1、 合并单元格

WritableSheet.mergeCells( int m,int n,int p,int q);

//函数是合并(m,n)到(p,q)的所有单元格,比如:

wrishsheet sheet=book . create sheet("第一页",0);

//合并从第一列第一行到第六列第一行的所有单元格

sheet.mergeCells( 0,0,5,0);

兼并可以是横向的,也可以是纵向的。合并后的单元格不能再次合并,否则会触发异常。

2、 行高和列宽

WritableSheet.setRowView( int i,int height);

//功能是指定行i 1的高度,比如:

//将第一行的高度设置为200

sheet.setRowView( 0,200);

writable sheet . setcolumnview(int I,int width);

//函数是指定i 1列的宽度,比如:

//将第一列的宽度设置为30

sheet.setColumnView( 0,30);

JExcelAPI还有一些其他的功能,比如插入图片等。这里就不一一介绍了。读者可以自行探索。

其中:如果您读取一个excel,您需要知道它有多少行和列,如下所示:

workbook=workbook . get workbook(new file(' 1 . xls ');

//获取第一个工作表对象

sheet sheet=book . get sheet(0);

//获取第一列第一行的单元格

int columnum=sheet . get columns();//获取列数

int rownum=sheet . getrows();//获取行数

system . out . println(columnum);

system . out . println(rownum);

for(int I=0;我rownumI) //循环读写

{

for(int j=0;j柱;j ) {

Cell cell1=sheet.getCell(j,I);

字符串result=cell 1 . get contents();

System.out.print(结果);

system . out . print(' \ t ');

}

system . out . println();

}

book . close();

感谢您的阅读,希望能帮到您,也感谢您对本站的支持!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: