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计算器核心算法代码实现,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Java 中的字符串替换方法之replace, replaceAll 和 replaceFirst示例详解

    Java 中的字符串替换方法之replace, replaceAll 和 rep

    在Java中,字符串的替换是一种常见的操作,特别是在处理文本和格式化输出时,本文将详细讨论这些方法的用法、区别以及示例,感兴趣的朋友一起看看吧
    2024-12-12
  • idea新建mapper.xml文件详细步骤如:mybatis-config

    idea新建mapper.xml文件详细步骤如:mybatis-config

    这篇文章主要介绍了idea新建xml模板设置,例如:mybatis-config,本文分步骤通过图文并茂的形式给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • SpringBoot结合JWT登录权限控制的实现

    SpringBoot结合JWT登录权限控制的实现

    本文主要介绍了SpringBoot结合JWT登录权限控制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Java设计模式中责任链模式详解

    Java设计模式中责任链模式详解

    责任链模式是将链中的每一个节点看做是一个对象,每个节点处理的请求均不相同,且内部自动维护下一个节点对象,当一个请求从链式的首段发出时,会沿着链的路径依次传递给每一个节点对象。本文将通过示例和大家详细聊聊责任链模式,需要的可以参考一下
    2022-11-11
  • Java使用注解实现防止重复提交实例

    Java使用注解实现防止重复提交实例

    这篇文章主要介绍了Java使用注解实现防止重复提交实例,在一些项目中由于用户误操作,多次点击表单提交按钮,会产生很多次的数据交互,为了解决这一问题,本文使用注解来实现防止重复提交,需要的朋友可以参考下
    2023-07-07
  • Java常用开源库汇总

    Java常用开源库汇总

    这篇文章主要介绍了Java常用开源库的相关资料,文中讲解非常细致,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-07-07
  • java 学习笔记(入门篇)_多选择结构switch语句

    java 学习笔记(入门篇)_多选择结构switch语句

    在java中为多路分支选择流程专门提供了switch语句,switch语句根据一个表达式的值,选择运行多个操作中的一个,感兴趣的朋友可以了解下
    2013-01-01
  • SpringBoot如何实现调用controller和Service层方法

    SpringBoot如何实现调用controller和Service层方法

    文章介绍了在SpringBoot中如何在工具类中调用Controller和Service层的方法,通过创建一个工具类SpringUtil,并在Spring Boot启动类中进行配置扫描注入,工具类就可以访问Controller和Service层的方法
    2025-03-03
  • java基础知识之FileInputStream流的使用

    java基础知识之FileInputStream流的使用

    这篇文章主要介绍了java基础知识之FileInputStream流的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12

最新评论