JXL基础

 JXL(Java Excel API)是一个用来动态读写Excel文件的开源框架,利用它可以在任何支持Java的操作系统上动态读写Excel文件。

jxl是一个韩国人写的java操作excel的工具,虽然功能比POI逊色,但是对中文支持非常好,因为是Java编写的不依赖操作系统,需要注意的是对图表支持不是很有限,仅仅支持png格式。


读取Excel:

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();



生成Excel:

// 打开文件
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();





修改Excel:

// 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();






读取xsl

package example;

import java.io.File;
import java.io.IOException;

import jxl.Cell;
import jxl.CellType;
import jxl.NumberCell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
/**
 * 【目的】:简单读取一个xsl文件;
 * 【导读】:先来看看Excel文件中都有写上面对象 
 * 1 文件对象 2工作簿对象 3 单元格对象。 
 * 相应的在JXL中就有Workbook,Sheet ,Cell 。通过这三个对象我们就可以实现Excel文件的读取工作。 
 * 我们先想想一下读取步骤,不管是什么样的Excel操作框架必定都要经历 
 * 【步骤】:
 * <ol>
 *  <li>选取Excel文件</li>
 *  <li>选择工作簿</li>
 *  <li>选择Cell</li>
 *  <li>读取信息</li>
 * </ol>
 * 
 * @author AndyFan*
 */
public class Demo1
{
    
    public static void main(String[] args) throws BiffException, IOException{
        //通过Workbook的静态方法getWorkbook选取Excel文件 
        Workbook workbook = Workbook.getWorkbook(new File("myexcel.xls")); 

        //通过Workbook的getSheet方法选择第一个工作簿(从0开始) 
        Sheet sheet = workbook.getSheet(0);
        
        //通过Sheet方法的getCell方法选择位置为C2的单元格(两个参数都从0开始) 
        Cell c1 = sheet.getCell(0,1); 

        //通过Cell的getContents方法把单元格中的信息以字符的形式读取出来 
        String stringc1 = c1.getContents(); 
        System.out.printf("姓名:%s%n", stringc1);
        
        //我们都知道Excel单元格是有格式的,那么这些信息如何取得。 

        /*Cell提供了一个getType方法能够返回单元格的类型信息,
            同时JXL提供了一个CellType类用来预设Excel中的类型信息,
            而且JXL提供了一些Cell类的子类用来分别用来表示各种类型的单元格,
            如LabelCell,NumberCell,DateCell分别表示字符、数值、
            日期类型的单元格。所以我们可以这样写:*/ 
        Cell c2 = sheet.getCell(1,1);
        Double numberb2 = null;
        if (c2.getType() == CellType.NUMBER) 
        { 
            NumberCell nc = (NumberCell) c2; 
            numberb2 = nc.getValue(); 
        } 
        System.out.printf("分数:%.3f%n", numberb2);
        System.out.println(numberb2);
        //最后不要忘记关闭workbook以释放资源: 
        workbook.close(); 
        
    }
    

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值