- package 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;
- }
- }
来源: http://www.phpxs.com/code/1001476/