2025年Excel存储——Jxl的使用

Excel存储——Jxl的使用1 简介 Jxl 是一款常用的 Java 中操作 Excel 的 API 但其只对 xls 有效 对 2007 版本以 上的 Excel xlsx 很难处理 在本节中 主要介绍如何使用 Jxl 创建工作簿以及工作 表 读取 Excel 文件内容和写入 Excel 文件内容 2 Jar 包下载 lt dependency gt

大家好,我是讯享网,很高兴认识大家。

1、简介

Jxl 是一款常用的 Java 中操作 Excel 的 API,但其只对 xls 有效,对 2007 版本以 上的 Excel(xlsx)很难处理。在本节中,主要介绍如何使用 Jxl 创建工作簿以及工作 表、读取 Excel 文件内容和写入 Excel 文件内容。

2、Jar包下载

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

讯享网

3、数据写入

在写入 Excel 之前,需要创建 Excel 工作簿以及工作表,如下语句。

讯享网File xlsFile = new File("data/a.xls"); // 创建一个工作簿 WritableWorkbook workbook = Workbook.createWorkbook(xlsFile); // 创建一个工作表 WritableSheet sheet = workbook.createSheet("sheet1", 0); 

创建完工作表之后,可以使用 addCell(WritableCell cell)方法向数据表中添加数据, 如下为 Excel 工作表添加一个表头。

//添加表头 sheet.addCell(new Label(0, 0, "post_id")); sheet.addCell(new Label(1, 0, "post_title")); 

其中,构造方法 Label(int c, int r, String cont)中的 c 表示列,r 表示行,cont 表示 文本内容。如上面的操作表示向第一行的第一列和第二列分别添加字符“post_id”和 “post_title”。添加完表头内容后,可以使用循环语句,继续向 Excel 工作表中添加数据。


讯享网

讯享网 //添加内容 for(int i = 0; i < 2; i++){ 
    sheet.addCell(new Label(0, i+1, "0" + i)); sheet.addCell(new Label(1, i+1, "内容" + i)); } 

之后,执行写入文件操作,关闭资源,释放内存。

//执行写入文件操作  workbook.write(); //关闭资源,释放内存  workbook.close(); 

4、数据读取

讯享网Workbook getWorkbook(java.io.File file) //基于File对象 Workbook getWorkbook(java.io.File file, WorkbookSettings ws) Workbook getWorkbook(InputStream is) //基于字节流 Workbook getWorkbook(InputStream is, WorkbookSettings ws) 

声明工作簿后,需要确定读取的工作表,Workbook 类中提供了两种方法确定操 作的工作表。

Sheet getSheet(String name) //基于sheet名  Sheet getSheet(int index) //基于 sheet 索引 
讯享网public class JxlExcelRead { 
    public static void main(String[] args) throws IOException, BiffException { 
    //声明工作薄 Workbook workbook = Workbook.getWorkbook(new File("data/a.xls")); //获取名称为sheet1的表格,也可以使用getSheet(0)获取第一个工作表 Sheet sheet = workbook.getSheet(0); int rows = sheet.getRows(); int columns = sheet.getColumns(); //行列循环读取数据 for (int i = 0; i < rows; i++) { 
    for (int j = 0; j < columns; j++) { 
    //使用getCell方法读取数据 //第一个参数是指第几列,第二个参数是指定第几行 Cell cell = sheet.getCell(j, i); System.out.println(cell.getContents() + "\t"); } } } } 
小讯
上一篇 2025-02-28 11:43
下一篇 2025-04-04 18:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/118186.html