ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java中运用JXL读取Excel中数据

2019-05-20 13:50:27  阅读:271  来源: 互联网

标签:cellA1 Java 读取 Excel sheet workbook import JXL String


在做自动化测试过程中,我们经常需要从EXcel表中读取数据, 后续程序中还需要利用该数据作为参数输入等。
我们可以抽象一个从excel表中读取数据的类,代码如下:(注意在写这个代码之前一定要保证JXL.jar环境已经配置好。)

 package priv.common;
   import java.io.FileInputStream;
   import java.io.FileNotFoundException;
   import java.io.IOException;
   import java.io.InputStream;
   import jxl.Cell;
  import jxl.CellType;
  import jxl.Sheet;
  import jxl.Workbook;
  import jxl.read.biff.BiffException;

 public class excelReadData {
//申明一个读取数据的方法,并且有返回值
	public String[][] f_readexcel(String filePath, String sheetname) {
		// 输入流,声明读取变量is 用户读取excel表格
		InputStream is = null;
		// 构建Workbook对象
		Workbook workbook = null;
		// 传入filepath中描述的路径,实例化is。
		try {
			is = new FileInputStream(filePath);
		} catch (FileNotFoundException e) {

		}
		// 将is中读取到的excel表格赋值给workbook
		try {
			workbook = Workbook.getWorkbook(is);
		} catch (BiffException | IOException e) {

		}
		// 声明变量sheet,将workbook中的sheet名为sheetname的表格读取到sheet中
		Sheet sheet = workbook.getSheet(sheetname);
		// 声明一个数组,用于存放sheet中的值,长度根据sheet中的实际长度定义
		String cases[][] = new String[sheet.getRows()][sheet.getColumns()];
		int i;
		int j;
		// 通过两层循环,将sheet中的数据读取到数组中
		// 遍数组的历行
		for (i = 0; i < sheet.getRows(); i++) {
			// 遍数组的历列
			for (j = 0; j < sheet.getColumns(); j++) {
				// 声明一个单元格变量,通过getCell(j,i)得到单元格中的值,读取每列每行,getCell(j,i)前面的j是列,i是行
				Cell cellA1 = sheet.getCell(j, i);
				// 如果当前单元格的格式是label(文本类型)类型的,就读取到数组中,需要保证excel表中数字类型的单元格手动调整成文本类型
				if (cellA1.getType().equals(CellType.LABEL)) {
					// 获取string类型单元格的数据
					cases[i][j] = cellA1.getContents();
				}
				else if(cellA1.getType().equals(CellType.NUMBER)) {
					cases[i][j] = String.valueOf(cellA1.getContents());
				}
			}
		}
		// 将excel表关闭
		workbook.close();
		// 将输入流关闭
		try {
			is.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		// 返回已经读取到sheet数据的数组
		return cases;
	}
}

标签:cellA1,Java,读取,Excel,sheet,workbook,import,JXL,String
来源: https://blog.csdn.net/chengcoco_/article/details/90368802

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有