測試驅(qū)動技術系列之如何理解操控excel的核心api

這篇文章主要講解了“測試驅(qū)動技術系列之如何理解操控excel的核心api”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“測試驅(qū)動技術系列之如何理解操控excel的核心api”吧!

為長嶺等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及長嶺網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站設計、網(wǎng)站建設、長嶺網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

測試數(shù)據(jù)格式展示如下(junit4也類似):

@DataProvider  public Object[][] dp1() {  return new Object[][] {  new Object[] { 1, 1,0 },  new Object[] { 2, 1,1 },  new Object[] { 2, 1,2 },  };  }

大家可以看到,如果數(shù)據(jù)量不大的時候,這種形式是OK的,但是如果測試數(shù)據(jù)量很大,那么在代碼中維護測試數(shù)據(jù)顯然效率就不高了!在做數(shù)據(jù)驅(qū)動的工作中,通常把測試數(shù)據(jù)保存在excel中,然后再對excel進行讀寫相關操作。在這里以java為例,我?guī)Т蠹沂煜ひ幌聀oi-ooxml  jar包的使用,給大家講解一下這個jar包操控excel的核心api。

poi-ooxml jar介紹

jar包導入

Maven中的pom配置信息如下

<dependency>  <groupId>org.apache.poi</groupId>  <artifactId>poi-ooxml</artifactId>  <version>4.1.2</version>  </dependency>

首先介紹幾個概念,整個excel文件被稱作workbook、每個工作表被稱作Sheet,每個單元格被稱作cell

測試驅(qū)動技術系列之如何理解操控excel的核心api

api詳解

打開xlsx格式文檔

XSSFWorkbookworkbook = new XSSFWorkbook(new FileInputStream("E:\\test.xlsx"));

打開xls格式文檔

HSSFWorkbookworkbook = new HSSFWorkbook(newFileInputStream("E:\\test.xls"));

關閉文檔

workbook.close();

通過id獲取工作表,0表示第一個工作表

Sheet sheet =workbook.getSheetAt(0);

通過工作表名稱獲取工作表

Sheet sheet =workbook.getSheet("test1");

創(chuàng)建sheet,名命為test2

workbook.createSheet("test2");

創(chuàng)建sheet,名命為test3,并把第一個sheet中的值拷貝過去

workbook.cloneSheet(0,"test3");

獲取sheet中的有效數(shù)據(jù)行數(shù)

int iRowNum=sheet.getPhysicalNumberOfRows();

獲取sheet中的有效數(shù)據(jù)列數(shù)

int iColumnNum=sheet.getRow(0).getPhysicalNumberOfCells();

獲取第一列第一行的數(shù)據(jù)類型

CellTypetype=sheet.getRow(1).getCell(0).getCellType();

Cell的數(shù)據(jù)類型包括:

  • NUMERIC,數(shù)值型

  • STRING,字符串型

  • FORMULA,公式型

  • BLANK,空值

  • BOOLEAN,布爾型

  • ERROR,錯誤

獲取第一列第一行的數(shù)據(jù)值

String value=sheet.getRow(1).getCell(0).getStringCellValue();

把第一列第一行的數(shù)據(jù)設置為kevin1

sheet.getRow(1).getCell(0).setCellValue("kevin1");

注意:如果涉及到對excel的寫入操作或者創(chuàng)建sheet表格的操作,例如:

workbook.createSheet("test2");  workbook.cloneSheet(0,"test3");  sheet.getRow(1).getCell(0).setCellValue("kevin1");

必須添加下面三條語句

FileOutputStreamis = new FileOutputStream("E:\\test.xls");  workbook.write(is);  is.close();

完整代碼

import java.io.FileInputStream;  import java.io.FileNotFoundException;  import java.io.FileOutputStream;  import java.io.IOException;  import org.apache.poi.hssf.usermodel.HSSFWorkbook;  import org.apache.poi.ss.usermodel.CellType;  import org.apache.poi.ss.usermodel.Sheet;  import org.apache.poi.xssf.usermodel.XSSFWorkbook;  public class ExcelBaseDemo {      public static void main(String[] args) throws FileNotFoundException, IOException {           //XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream("E:\\test.xlsx")); //打開xlsx格式           HSSFWorkbookworkbook = new HSSFWorkbook(new FileInputStream("E:\\test.xls"));//打開xls格式           // 獲取工作表           //Sheet sheet = workbook.getSheetAt(0);           Sheetsheet = workbook.getSheet("test1");          // workbook.createSheet("test2");         //創(chuàng)建sheet,名命為test2          // workbook.cloneSheet(0, "test3");         //創(chuàng)建sheet,名命為test3,并把第一個sheet中的值拷貝過去           int iRowNum=sheet.getPhysicalNumberOfRows();  //獲取sheet中的有效數(shù)據(jù)行數(shù)           int iColumnNum= sheet.getRow(0).getPhysicalNumberOfCells();//獲取sheet中的有效數(shù)據(jù)列數(shù)           System.out.println(iRowNum);           System.out.println(iColumnNum);           CellTypetype=sheet.getRow(1).getCell(0).getCellType(); //獲取第一列第一行的數(shù)據(jù)類型           System.out.println(type);           Stringvalue= sheet.getRow(1).getCell(0).getStringCellValue();  //獲取第一列第一行的數(shù)據(jù)值           System.out.println(value);           sheet.getRow(1).getCell(0).setCellValue("kevin1");  //把第一列第一行的數(shù)據(jù)設置為kevin1          //如果涉及到對excel的寫入操作或者創(chuàng)建sheet表格的操作,必須添加下面三條語句           FileOutputStreamis = new FileOutputStream("E:\\test.xls");             workbook.write(is);             is.close();             workbook.close();      }  }

感謝各位的閱讀,以上就是“測試驅(qū)動技術系列之如何理解操控excel的核心api”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對測試驅(qū)動技術系列之如何理解操控excel的核心api這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!

網(wǎng)頁題目:測試驅(qū)動技術系列之如何理解操控excel的核心api
轉(zhuǎn)載注明:http://www.muchs.cn/article46/phojeg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、、微信小程序、面包屑導航標簽優(yōu)化、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設