加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 03:17:05 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 自己封装的Java excel数据读取方法,支持随意获取几行几列,也支持获取所有数据,将excel数据返回为object[][]数据类型。可用方便用于TESTNG自动化测

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

自己封装的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="..testcasetestcasedemo.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;
   
 }
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读