這篇文章主要講解了“測(cè)試驅(qū)動(dòng)技術(shù)系列之如何理解操控excel的核心api”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“測(cè)試驅(qū)動(dòng)技術(shù)系列之如何理解操控excel的核心api”吧!
為長(zhǎng)嶺等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及長(zhǎng)嶺網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、長(zhǎng)嶺網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
測(cè)試數(shù)據(jù)格式展示如下(junit4也類(lèi)似):
@DataProvider public Object[][] dp1() { return new Object[][] { new Object[] { 1, 1,0 }, new Object[] { 2, 1,1 }, new Object[] { 2, 1,2 }, }; }
大家可以看到,如果數(shù)據(jù)量不大的時(shí)候,這種形式是OK的,但是如果測(cè)試數(shù)據(jù)量很大,那么在代碼中維護(hù)測(cè)試數(shù)據(jù)顯然效率就不高了!在做數(shù)據(jù)驅(qū)動(dòng)的工作中,通常把測(cè)試數(shù)據(jù)保存在excel中,然后再對(duì)excel進(jìn)行讀寫(xiě)相關(guān)操作。在這里以java為例,我?guī)Т蠹沂煜ひ幌聀oi-ooxml jar包的使用,給大家講解一下這個(gè)jar包操控excel的核心api。
poi-ooxml jar介紹
jar包導(dǎo)入
Maven中的pom配置信息如下
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency>
首先介紹幾個(gè)概念,整個(gè)excel文件被稱(chēng)作workbook、每個(gè)工作表被稱(chēng)作Sheet,每個(gè)單元格被稱(chēng)作cell
api詳解
打開(kāi)xlsx格式文檔
XSSFWorkbookworkbook = new XSSFWorkbook(new FileInputStream("E:\\test.xlsx"));
打開(kāi)xls格式文檔
HSSFWorkbookworkbook = new HSSFWorkbook(newFileInputStream("E:\\test.xls"));
關(guān)閉文檔
workbook.close();
通過(guò)id獲取工作表,0表示第一個(gè)工作表
Sheet sheet =workbook.getSheetAt(0);
通過(guò)工作表名稱(chēng)獲取工作表
Sheet sheet =workbook.getSheet("test1");
創(chuàng)建sheet,名命為test2
workbook.createSheet("test2");
創(chuàng)建sheet,名命為test3,并把第一個(gè)sheet中的值拷貝過(guò)去
workbook.cloneSheet(0,"test3");
獲取sheet中的有效數(shù)據(jù)行數(shù)
int iRowNum=sheet.getPhysicalNumberOfRows();
獲取sheet中的有效數(shù)據(jù)列數(shù)
int iColumnNum=sheet.getRow(0).getPhysicalNumberOfCells();
獲取第一列第一行的數(shù)據(jù)類(lèi)型
CellTypetype=sheet.getRow(1).getCell(0).getCellType();
Cell的數(shù)據(jù)類(lèi)型包括:
NUMERIC,數(shù)值型
STRING,字符串型
FORMULA,公式型
BLANK,空值
BOOLEAN,布爾型
ERROR,錯(cuò)誤
獲取第一列第一行的數(shù)據(jù)值
String value=sheet.getRow(1).getCell(0).getStringCellValue();
把第一列第一行的數(shù)據(jù)設(shè)置為kevin1
sheet.getRow(1).getCell(0).setCellValue("kevin1");
注意:如果涉及到對(duì)excel的寫(xiě)入操作或者創(chuàng)建sheet表格的操作,例如:
workbook.createSheet("test2"); workbook.cloneSheet(0,"test3"); sheet.getRow(1).getCell(0).setCellValue("kevin1");
必須添加下面三條語(yǔ)句
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")); //打開(kāi)xlsx格式 HSSFWorkbookworkbook = new HSSFWorkbook(new FileInputStream("E:\\test.xls"));//打開(kāi)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,并把第一個(gè)sheet中的值拷貝過(guò)去 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ù)類(lèi)型 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ù)設(shè)置為kevin1 //如果涉及到對(duì)excel的寫(xiě)入操作或者創(chuàng)建sheet表格的操作,必須添加下面三條語(yǔ)句 FileOutputStreamis = new FileOutputStream("E:\\test.xls"); workbook.write(is); is.close(); workbook.close(); } }
感謝各位的閱讀,以上就是“測(cè)試驅(qū)動(dòng)技術(shù)系列之如何理解操控excel的核心api”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)測(cè)試驅(qū)動(dòng)技術(shù)系列之如何理解操控excel的核心api這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)頁(yè)題目:測(cè)試驅(qū)動(dòng)技術(shù)系列之如何理解操控excel的核心api
轉(zhuǎn)載注明:http://aaarwkj.com/article46/phojeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、、微信小程序、面包屑導(dǎo)航、標(biāo)簽優(yōu)化、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)