自己封装的Java excel数据读取方法,javaexcel,自己封装的Javaexc
自己封装的Java excel数据读取方法,javaexcel,自己封装的Javaexc
自己封装的Javaexcel数据读取方法,支持随意获取几行几列,也支持获取所有数据,将excel数据返回为object[][]数据类型。可用方便用于TESTNG自动化测试的数据驱动。```javapackage org.webdriver.autotest.data;import jxl.Workbook;import jxl.Sheet;import jxl.Cell;import java.util.ArrayList;import java.util.List;import java.io.File;import java.util.HashMap;
public class read_case_data{ static String sourcefile="..\testcase\testcasedemo.xls"; public Object[][] case_data_excel( int sheet_id, int start_row, int end_row, int start_col, int end_col
) { String cell_value=null; ArrayList<Object> testcase_data_list=new ArrayList<Object>(); String[][] testcase_data_array=null; try {
Workbook testcase_data_workbook=Workbook.getWorkbook(new File(sourcefile)); Sheet testcase_data_sheet=testcase_data_workbook.getSheet(sheet_id); int rows=testcase_data_sheet.getRows(); int cols=testcase_data_sheet.getColumns();
if(end_row>rows) { end_row=rows;
} //获取每行用例数据 for (int row = start_row; row <=end_row; row++) {
//用一个数组,存放每行数据。//每循环一行,初始化一次数组,将原有数组内存释放 //特别注意,只取一个表里的几列数据的时候,数组的长度一定要初始化正确 String[] row_array=new String[end_col-start_col+1]; for(int col=start_col-1;col<=end_col-1;col++) {
cell_value=testcase_data_sheet.getCell(col, row).getContents(); //将每一行的每一个列值赋值给行数组,循环行数组赋值 row_array[col]=cell_value; } //每获得一行数据就将起存入,用例LIST列表中 testcase_data_list.add(row_array);
}
String[][] testcase_data_array_try=new String[testcase_data_list.size()][cols]; testcase_data_array_try=testcase_data_list.toArray(testcase_data_array_try); testcase_data_array=testcase_data_array_try;
} catch (Exception e) { // TODO: handle exception e.printStackTrace(); } Object[][] testcase_data_object=(Object[][])testcase_data_array; return testcase_data_object;
}}```
用户点评