java 读取Excel(.xls格式)

本文介绍如何使用jxl库在Java中读取Excel文件,包括获取页签数量、创建Sheet对象、读取行数、列数及单元格数据的具体方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

话不多说,开整!

使用 Workbook 读取Excel

包:jxl-2.6.12.jar

重点不是下面的一堆代码,是里面的方法,

  • 获取页签的数量:  int  sheet_size = wb.getNumberOfSheets();
  • 每个页签创建一个Sheet对象: Sheet sheet = wb.getSheet(index);
  • 获取总行数: int rows = sheet.getRows();
  • 获取总列数:int columns = sheet.getColumns();
  • 获取表格中的数据 String cellinfo = sheet.getCell(j, i).getContents();

注意:我这里因为项目需要,是一列一列读取的,需要一行一行读取的小伙伴,请使用上面的方法自行编写即可

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ReadExcel {

	// 去读Excel的方法readExcel,该方法的入口参数为一个File对象
	@SuppressWarnings({ "rawtypes", "unchecked", "unused" })
	public static List<List> readExcel(File file) {
		try {
			// 创建输入流,读取Excel
			InputStream is = new FileInputStream(file.getAbsolutePath());
			// jxl提供的Workbook类
			Workbook wb = Workbook.getWorkbook(is);
			// Excel的页签数量
			int sheet_size = wb.getNumberOfSheets();
			for (int index = 0; index < sheet_size; index++) {
				List<List> outerList = new ArrayList<List>();
				// 每个页签创建一个Sheet对象
				Sheet sheet = wb.getSheet(index);
				// sheet.getRows()返回该页的总行数
				for (int i = 0; i < sheet.getRows(); i++) {
					List innerList = new ArrayList();
					// sheet.getColumns()返回该页的总列数
					for (int j = 0; j < sheet.getColumns(); j++) {
						String cellinfo = sheet.getCell(j, i).getContents();
//						if (cellinfo.isEmpty()) {
//							continue;
//						}
						innerList.add(cellinfo);
					}
					outerList.add(i, innerList);
				}
				return outerList;
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (BiffException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值