自己封装的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; 
    
 } 
}

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10508.html

(0)
上一篇 2021年7月19日 10:18
下一篇 2021年7月19日 10:18

相关推荐

发表回复

登录后才能评论