自己封裝的Java excel數據讀取方法

jopen 9年前發布 | 4K 次閱讀 Java

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

} }</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!