| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

自己封装的Java excel数据读取方法

自己封装的Java excel数据读取方法,支持随意获取几行几列,也支持获取所有数据,将excel数据返回为object[][]数据类型。可用方便用于TESTNG自动化测试的数据驱动。

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;        }  }