Java操作Excel之理解JXL--读写Excel

==初级=================================================================
JXL(Java Excel API)是一个用来动态读写Excel文件的开源框架,利用它可以在任何支持Java的操作系统上动态读写Excel文件。JXL的主页是:http://www.andykhan.com/jexcelapi/,可以在这里下载到它的最新的版本。
你可以分别通过如下命令
java -jar jxl.jar -xml test.xls
java -jar jxl.jar -cvs test.xls
以xml和cvs格式查看test.xls,这是因为JXL作者实现了一个用来演示的jxl.demo.Demo的类。

当然我们使用JXL主要是用它来动态读写Excel文件。现在就来看看JXL在对Excel的读和写上都提供了那些支持。
先来看看Excel文件中都有写上面对象
1 文件对象 2工作簿对象 3 单元格对象。
相应的在JXL中就有Workbook,Sheet ,Cell 。通过这三个对象我们就可以实现Excel文件的读取工作。
我们先想想一下读取步骤,不管是什么样的Excel操作框架必定都要经历
1选取Excel文件,2选择工作簿,3选择Cell,4读取信息。
那么现在就可以看看JXL中这四步骤如何体现:
//通过Workbook的静态方法getWorkbook选取Excel文件
Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));

//通过Workbook的getSheet方法选择第一个工作簿(从0开始)
Sheet sheet = workbook.getSheet(0);

//通过Sheet方法的getCell方法选择位置为C2的单元格(两个参数都从0开始)
Cell c2 = sheet.getCell(2,1);

//通过Cell的getContents方法把单元格中的信息以字符的形式读取出来
String stringc2 = c2.getContents();

可以看到正是刚才所说的四个步骤。

我们都知道Excel单元格是有格式的,那么这些信息如何取得。
Cell提供了一个getType方法能够返回单元格的类型信息,同时JXL提供了一个CellType类用来预设Excel中的类型信息,而且JXL提供了一些Cell类的子类用来分别用来表示各种类型的单元格,如LabelCell,NumberCell,DateCell分别表示字符、数值、日期类型的单元格。所以我们可以这样写:
if (c2.getType() == CellType.NUMBER)
{
  NumberCell nc = (NumberCell) c2;
  numberb2 = nc.getValue();
}

最后不要忘记关闭workbook以释放资源:
workbook.close();
现在总结一下:三个对象,四个步骤,注意格式。就可以轻松的从Excel文件中读取数据。



==图片====================================================================
如果你是要读取Excel中的图片,那么可以用Sheet的getDrawing(int i)方法返回一个Image对象,通过Image对象的
getImageData()或者getImageFile()即可访问到你需要的图片。
如过你是要把图片写入到Excel中,那么可以用WritableSheet的addImage(WritableImage image)
方法写入,其中WritableImage可以用构造函数直接构造。
(WritableImage(double x, double y, double width, double height, java.io.File image)



=Jxl使用总结=======================================================================
Jxl使用总结

Jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以操作Excel,两者相比之下:Jxl使用方便,但功能相对POI比较弱。POI使用复杂,上手慢,除了这个没啥说的了。

Jxl目前最新2.6.10,下载地址是:
http://nchc.dl.sourceforge.net/s ... excelapi_2_6_10.zip
http://www.andykhan.com/jexcelapi/download.html
http://www.andykhan.com/jexcelapi/tutorial.html
http://www.andykhan.com/jexcelapi/
http://www.andykhan.com/



API总结

1、创建或读取一个工作薄 Workbook

创建一个工作薄,就是整个Excel文档,
         WritableWorkbook wwb = Workbook.createWorkbook(os);其中os为一个文件输出流。当然还有很多其他的入参,比如File等。

Workbook不但能用来创建工作薄,也可以读取现有的工作薄,比如:
         Workbook.getWorkbook(java.io.File file);Workbook是一个很重要工具类,里面方法基本上都是static的,使用方便。

2、创建工作表 Sheet

创建工作表的方式是通过上面创建的WritableWorkbook对象来操作。
创建一个工作表:
         createSheet(java.lang.String name, int index),两个参数分别是工作表名字和插入位置,这个位置从0开始,比如:
         WritableSheet sheet = wwb.createSheet("演员表", 0);
3、创建标签 Label

实际上标签这里的意思就是工作表的单元格,这个单元格多种,分别对应不同的类,比如jxl.write.Boolean、jxl.write.Boolean等。
         Label label = new Label(col, row, title); 三个参数分别表示col+1列,row+1行,标题内容是title。

将标签加入到工作表中
         sheet.addCell(label);
4、填充数据

数据填充这块稍微复杂点,涉及到数据单元格的格式问题。

a)、填充数字
        jxl.write.Number numb = new jxl.write.Number(1, 1, 250);
        sheet.addCell(numb);
b)、填充格式化的数字
        jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");
        jxl.write.WritableCellFormat wcf = new jxl.write.WritableCellFormat(nf);
        jxl.write.Number n = new jxl.write.Number(2, 1, 2.451, wcf);
        sheet.addCell(n);
c)、填充日期
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String newdate = sdf.format(new Date());
        label = new Label(2, 2, newdate);
        sheet.addCell(label);
d)、填充文本
        label = new Label(3, 3, "周星驰");
        sheet.addCell(label);
e)、填充boolean值
        jxl.write.Boolean bool = new jxl.write.Boolean(4, 1, true);
        sheet.addCell(bool);
5、合并单元格

通过writablesheet.mergeCells(int x,int y,int m,int n);来实现的。
表示将从第x+1列,y+1行到m+1列,n+1行合并 (四个点定义了两个坐标,左上角和右下角)
结果是合并了m-x+1行,n-y+1列,两者乘积就是合并的单元格数量。

        sheet.mergeCells(0, 6, 3, 8);
        label = new Label(0, 6, "合并了12个单元格");
        sheet.addCell(label);
6、添加单元格的式样

主要是改变单元格背景、字体、颜色等等。
        WritableCellFormat wc = new WritableCellFormat();
        // 设置居中
        wc.setAlignment(Alignment.CENTRE);
        // 设置边框线
        wc.setBorder(Border.ALL, BorderLineStyle.THIN);
        // 设置单元格的背景颜色
        wc.setBackground(jxl.format.Colour.RED);
        label = new Label(1, 5, "字体", wc);
        sheet.addCell(label);
7、设置单元格字体

        // 设置字体
        jxl.write.WritableFont wfont = new jxl.write.WritableFont(WritableFont.createFont("楷书"), 20);
        WritableCellFormat font = new WritableCellFormat(wfont);
        label = new Label(2, 6, "楷书", font);
        sheet.addCell(label);
8、将工作写成文件

        // 写入数据
        wwb.write();
        // 关闭文件
        wwb.close();  
9、行列的批量操作

        //获取所有的工作表
        jxl.write.WritableSheet[] sheetList = wwb.getSheets();
        //获取第1列所有的单元格
        jxl.Cell[] cellc = sheet.getColumn(0);
        //获取第1行所有的单元格
        jxl.Cell[] cellr = sheet.getRow(0);
        //获取第1行第1列的单元格
        Cell c = sheet.getCell(0, 0);
10、获取单元格的值

        //获取单元格的值,不管什么单元格,返回都是字符串
        String value = c.getContents();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JavaExceljxl包是一个用于读写Microsoft Excel文件的Java库。使用这个包,Java程序员可以轻松地读取、写入和操作Excel文件。Jxl包提供了一种非常简单易用的API,可以让开发人员快速地编写代码来读取和写入Excel文件,而不需要深入研究文件格式和结构。 要下载jxl包,您可以访问jxl官方网站,从网站上下载最新的jxl版本,也可以从Java开发者社区或开源代码库中下载。您只需要下载jxl.jar包,并将其添加到您的Java项目中即可开始使用jxl API进行Excel文件的操作Jxl包提供了很多有用的功能,比如读取Excel文件中的单元格、行和列,设置单元格的格式、合并、拆分和自动调整列宽等操作。通过使用jxl包,您可以轻松地创建和修改Excel文档,使得Java开发人员能够更加高效地处理各种Excel数据操作任务。同时,Jxl包也具有良好的兼容性,可以很好地适应各种操作系统和Excel版本。 ### 回答2: JavaExcel jxl包是一个非常强大的工具,可以帮助我们在Java应用程序中读取、写入和编辑Excel文件。为了使用它,我们需要安装并下载jxl包。 首先,打开我们的Java IDE(如Eclipse或IntelliJ IDEA),并在项目的classpath中添加jxl.jar文件。为此,右键单击项目并选择“构建路径-->配置构建路径-->库-->添加外部jars”,然后导航到jxl.jar文件所在的位置并单击确定。 接下来,我们可以通过在我们的Java代码中导入jxl包来开始使用这个工具。例如,在我们的代码中编写以下行来创建一个Excel表格: Workbook workbook = Workbook.createWorkbook(new File("example.xls")); 然后,我们可以使用下面的代码来向表格中添加数据: Sheet sheet = workbook.createSheet("Sheet1", 0); Label label = new Label(0, 0, "Hello World"); sheet.addCell(label); 最后,当我们完成表格编辑时,我们可以使用以下代码保存并关闭Excel文件: workbook.write(); workbook.close(); 总的来说,使用JavaExcel jxl包下载非常简单。只需按照上述步骤安装并配置jxl.jar文件,我们就可以开始使用这个强大的工具来在Java应用程序中读取、写入和编辑Excel文件。 ### 回答3: JXLJava Excel API的简称,是一种用于读写Microsoft Excel文件的Java API。它可以让Java应用程序和插件直接访问Excel文件中的数据,增强了Java的功能,为应用程序带来了更多的灵活性和可靠性。很多Java开发人员都习惯使用JXL来访问Excel文件。 如果你需要下载JXL包,可以先在搜索引擎中输入“Java Excel JXL包下载”关键词,并进入可信赖的下载网站。一般来说,下载网站会提供JXL包的下载地址和相关文档,你只需要按照指引安装即可。 下载JXL包之前,需要明确自己的操作系统和Java版本,以确保下载的JXL包可以在当前系统上正常运行。此外,你还需要阅读JXL包的文档,了解API的使用方法和常见问题,避免在使用过程中出现错误。 总之,下载JXL包是为了更好地使用Java Excel API,要保证下载的JXL包是合法、稳定的,并按照文档要求使用。这样,你才能更加方便地访问Excel文件中的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值