jxl对Excel的读、写、更新以及插入图片

这篇博客介绍了如何使用开源项目Java Excel API来处理Excel文件。内容包括读取Excel数据,如字符、数字和日期,创建新的Excel文件,更新已有内容,以及向Excel中插入图片。在读取和写入时需要注意关闭流以释放内存,并确保写入操作完成后再保存文件。
摘要由CSDN通过智能技术生成

Java Excel是一开放源码项目,通过它开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件以及插入图片等等。 
  详细介绍及API查看官方:http://www.andykhan.com/jexcelapi/index.html 
ps:读取结束时注意调用close()方法;释放内存 
写入结束时先调用write()方法,否则得到的是空Excel,因为先前的操作都是存储在缓存中。具体见代码
 
一、读取Excel的例子: 
注意对数字、日期等不同CellType的读取 

/**
 * jxl 读取
 * @author Michael sun
 */
public class JxlRead {

    /**
     * 读取 excel 文件
     * @param filePath
     * @throws Exception
     */
    private void readExcel(String filePath) throws Exception {
        InputStream is = null;
        Workbook workbook = null;
        try {
            is = new FileInputStream(filePath);
            workbook = Workbook.getWorkbook(is);
            // sheet row column 下标都是从0开始的
            Sheet sheet = workbook.getSheet(0);

            int column = sheet.getColumns();
            int row = sheet.getRows();
            System.out.println("共有" + row + "行," + column + "列数据");

            // A1是字符
            Cell cellA1 = sheet.getCell(0, 0);
            System.out.println("A1 type:" + cellA1.getType());
            if (cellA1.getType().equals(CellType.LABEL)) {
                System.out.println("A1 content:" + cellA1.getContents());
            }

            // B1是数字
            Cell cellB1 = sheet.getCell(1, 0);
            System.out.println("B1 type:" + cellB1.getType());
            if (cellB1.getType().equals(CellType.NUMBER)) {
                NumberCell numberCell = (NumberCell) cellB1;
                double douval = numberCell.getValue();
                System.out.println("B1 value:" + douval);
            }

            // C1是日期
            Cell cellC1 = sheet.getCell(2, 0);
            System.out.println("C1 type:" + cellC1.getType());
            if (cellC1.getType().equals(CellType.DATE)) {
                DateCell dateCell = (DateCell) cellC1;
                Date date = dateCell.getDate();
                System.out.println("C1 date:" + date);
            }

            // 操作完成时,关闭对象,释放占用的内存空间
            workbook.close();
            is.close();
        } catch (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值