Java使用jxl库轻松玩转Excel表操作

 更新时间:2025年02月11日 10:23:01   作者:五行星辰  
jxl 是一个非常实用的 Java 库,专门用于操作 Excel 表格,这篇文章主要为大家介绍了如何使用jxl进行Excel的基本操作,有需要的可以了解下

jxl 是一个非常实用的 Java 库,专门用于操作 Excel 表格。它可以让我们轻松地创建、读取和修改 Excel 文件。下面我就来详细给你讲讲 jxl 在 Excel 表操作处理方面的使用方法。

1. 引入 jxl 库

首先,你得把 jxl 库添加到你的项目中。如果你使用的是 Maven 项目,就在 pom.xml 文件里添加以下依赖:

<dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
</dependency>

2. 创建 Excel 文件

接下来,我们看看如何使用 jxl 创建一个简单的 Excel 文件。

import java.io.File;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
 
public class CreateExcelExample {
    public static void main(String[] args) {
        try {
            // 创建一个可写的工作簿对象
            WritableWorkbook workbook = Workbook.createWorkbook(new File("example.xls"));
 
            // 创建一个工作表,参数为工作表名称和工作表索引
            WritableSheet sheet = workbook.createSheet("Sheet1", 0);
 
            // 在工作表的指定单元格添加数据
            Label label = new Label(0, 0, "Hello, jxl!");
            sheet.addCell(label);
 
            // 写入数据并关闭工作簿
            workbook.write();
            workbook.close();
 
            System.out.println("Excel 文件创建成功!");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Excel 文件创建失败:" + e.getMessage());
        }
    }
}

代码解释:

WritableWorkbook workbook = Workbook.createWorkbook(new File("example.xls"));:创建一个可写的工作簿对象,指定生成的 Excel 文件名为 example.xls。

WritableSheet sheet = workbook.createSheet("Sheet1", 0);:创建一个名为 Sheet1 的工作表,索引为 0,表示第一个工作表。

Label label = new Label(0, 0, "Hello, jxl!");:创建一个标签对象,参数分别为列索引、行索引和单元格内容。

sheet.addCell(label);:将标签添加到工作表的指定单元格。

workbook.write(); workbook.close();:将数据写入文件并关闭工作簿。

3. 读取 Excel 文件

下面是使用 jxl 读取 Excel 文件的示例代码。

import java.io.File;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
 
public class ReadExcelExample {
    public static void main(String[] args) {
        try {
            // 创建一个工作簿对象,从指定文件读取数据
            Workbook workbook = Workbook.getWorkbook(new File("example.xls"));
 
            // 获取第一个工作表
            Sheet sheet = workbook.getSheet(0);
 
            // 获取工作表的行数和列数
            int rows = sheet.getRows();
            int cols = sheet.getColumns();
 
            // 遍历工作表的单元格并输出内容
            for (int i = 0; i < rows; i++) {
                for (int j = 0; j < cols; j++) {
                    Cell cell = sheet.getCell(j, i);
                    System.out.print(cell.getContents() + "\t");
                }
                System.out.println();
            }
 
            // 关闭工作簿
            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Excel 文件读取失败:" + e.getMessage());
        }
    }
}

代码解释:

Workbook workbook = Workbook.getWorkbook(new File("example.xls"));:创建一个工作簿对象,从 example.xls 文件中读取数据。

Sheet sheet = workbook.getSheet(0);:获取第一个工作表。

int rows = sheet.getRows(); int cols = sheet.getColumns();:获取工作表的行数和列数。

Cell cell = sheet.getCell(j, i);:获取指定单元格的内容。

workbook.close();:关闭工作簿。

4. 修改 Excel 文件

jxl 也可以用来修改已有的 Excel 文件。下面是一个简单的示例,将指定单元格的内容修改为新的值。

import java.io.File;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
 
public class ModifyExcelExample {
    public static void main(String[] args) {
        try {
            // 打开现有的工作簿
            Workbook existingWorkbook = Workbook.getWorkbook(new File("example.xls"));
 
            // 创建一个可写的工作簿对象,基于现有的工作簿
            WritableWorkbook workbook = Workbook.createWorkbook(new File("modified_example.xls"), existingWorkbook);
 
            // 获取第一个工作表
            WritableSheet sheet = workbook.getSheet(0);
 
            // 修改指定单元格的内容
            WritableCell cell = sheet.getWritableCell(0, 0);
            if (cell instanceof Label) {
                Label label = (Label) cell;
                label.setString("Modified Content");
            }
 
            // 写入数据并关闭工作簿
            workbook.write();
            workbook.close();
            existingWorkbook.close();
 
            System.out.println("Excel 文件修改成功!");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Excel 文件修改失败:" + e.getMessage());
        }
    }
}

代码解释:

Workbook existingWorkbook = Workbook.getWorkbook(new File("example.xls"));:打开现有的 Excel 文件。

WritableWorkbook workbook = Workbook.createWorkbook(new File("modified_example.xls"), existingWorkbook);:创建一个可写的工作簿对象,基于现有的工作簿,并指定修改后的文件名为 modified_example.xls。

WritableCell cell = sheet.getWritableCell(0, 0);:获取指定单元格的可写对象。

label.setString("Modified Content");:修改单元格的内容。

workbook.write(); workbook.close(); existingWorkbook.close();:写入数据并关闭工作簿。

到此这篇关于Java使用jxl库轻松玩转Excel表操作的文章就介绍到这了,更多相关Java jxl操作Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中接口的多态详解

    Java中接口的多态详解

    大家好,本篇文章主要讲的是Java中接口的多态详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • SpringBoot项目中application.yml和bootstrap.yml文件的区别及说明

    SpringBoot项目中application.yml和bootstrap.yml文件的区别及说明

    `application.yml`和`bootstrap.yml`都是Spring Boot项目中的配置文件,但它们在加载时机、用途、优先级、配置来源、适用场景和是否必须存在等方面存在区别
    2025-03-03
  • Java经典面试题之NIO多路复用

    Java经典面试题之NIO多路复用

    JAVA NIO 的多路复用是面试中经常被问的问题,今天我们彻底搞明白究竟是怎么回事,文中的示例代码讲解详细,希望对大家学习Java有所帮助
    2023-06-06
  • 10中java常见字符串操作实例

    10中java常见字符串操作实例

    给大家分享10中java常见字符串操作方法以及相关实例代码,对此有需要的读者们可以学习参考下。
    2019-07-07
  • SpringMVC注解之@ResponseBody注解原理

    SpringMVC注解之@ResponseBody注解原理

    今天带大家分析一下@ResponseBody注解原理,文中有非常详细的介绍及代码示例,对正在学习java的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • Java从List中删除元素的几种方式小结

    Java从List中删除元素的几种方式小结

    在Java中,List 接口提供了一个 remove(Object o) 方法来移除列表中与给定对象相等的第一个元素,然而,直接使用这个方法来删除列表中的元素有时并不是最优的选择,主要原因包括效率和同步性问题,本文介绍了Java从List中删除元素的几种方式,需要的朋友可以参考下
    2024-08-08
  • Java中IO流 字节流实例详解

    Java中IO流 字节流实例详解

    这篇文章主要介绍了Java中IO流 字节流实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • Java自定义简单标签实例

    Java自定义简单标签实例

    Java自定义简单标签可以方便的在页面输出信息,并且对于权限的控制,和对于Jsp标签和servlet代码的分离有着很好的作用
    2013-07-07
  • SpringBoot数据库查询超时配置详解

    SpringBoot数据库查询超时配置详解

    这篇文章主要介绍了SpringBoot数据库查询超时配置,超时配置可以避免长时间占用数据库连接,提高系统的响应速度和吞吐量,还可以快速的反馈可以提升用户体验,避免用户因长时间等待而感到挫败,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2024-11-11
  • zookeeper监听器原理的详解

    zookeeper监听器原理的详解

    今天小编就为大家分享一篇关于zookeeper监听器原理的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01

最新评论