千家信息网

测试驱动技术系列之如何理解操控excel的核心api

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"测试驱动技术系列之如何理解操控excel的核心api",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"测试驱动技术系列之如何理解操控e
千家信息网最后更新 2026年11月03日测试驱动技术系列之如何理解操控excel的核心api

这篇文章主要讲解了"测试驱动技术系列之如何理解操控excel的核心api",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"测试驱动技术系列之如何理解操控excel的核心api"吧!

测试数据格式展示如下(junit4也类似):

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

大家可以看到,如果数据量不大的时候,这种形式是OK的,但是如果测试数据量很大,那么在代码中维护测试数据显然效率就不高了!在做数据驱动的工作中,通常把测试数据保存在excel中,然后再对excel进行读写相关操作。在这里以java为例,我带大家熟悉一下poi-ooxml jar包的使用,给大家讲解一下这个jar包操控excel的核心api。

poi-ooxml jar介绍

jar包导入

Maven中的pom配置信息如下

  org.apache.poi  poi-ooxml  4.1.2  

首先介绍几个概念,整个excel文件被称作workbook、每个工作表被称作Sheet,每个单元格被称作cell


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");

创建sheet,名命为test2

workbook.createSheet("test2");

创建sheet,名命为test3,并把第一个sheet中的值拷贝过去

workbook.cloneSheet(0,"test3");

获取sheet中的有效数据行数

int iRowNum=sheet.getPhysicalNumberOfRows();

获取sheet中的有效数据列数

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

获取第一列第一行的数据类型

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

Cell的数据类型包括:

  • NUMERIC,数值型

  • STRING,字符串型

  • FORMULA,公式型

  • BLANK,空值

  • BOOLEAN,布尔型

  • ERROR,错误

获取第一列第一行的数据值

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

把第一列第一行的数据设置为kevin1

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

注意:如果涉及到对excel的写入操作或者创建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");         //创建sheet,名命为test2          // workbook.cloneSheet(0, "test3");         //创建sheet,名命为test3,并把第一个sheet中的值拷贝过去           int iRowNum=sheet.getPhysicalNumberOfRows();  //获取sheet中的有效数据行数           int iColumnNum= sheet.getRow(0).getPhysicalNumberOfCells();//获取sheet中的有效数据列数           System.out.println(iRowNum);           System.out.println(iColumnNum);           CellTypetype=sheet.getRow(1).getCell(0).getCellType(); //获取第一列第一行的数据类型           System.out.println(type);           Stringvalue= sheet.getRow(1).getCell(0).getStringCellValue();  //获取第一列第一行的数据值           System.out.println(value);           sheet.getRow(1).getCell(0).setCellValue("kevin1");  //把第一列第一行的数据设置为kevin1          //如果涉及到对excel的写入操作或者创建sheet表格的操作,必须添加下面三条语句           FileOutputStreamis = new FileOutputStream("E:\\test.xls");             workbook.write(is);             is.close();             workbook.close();      }  }

感谢各位的阅读,以上就是"测试驱动技术系列之如何理解操控excel的核心api"的内容了,经过本文的学习后,相信大家对测试驱动技术系列之如何理解操控excel的核心api这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

数据 测试 工作 一行 核心 驱动 格式 技术 有效 文档 类型 学习 代码 内容 拷贝 表格 语句 三条 很大 不大 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网企业 互联网下的科技发展 中资互联网科技 互联网金融 金融科技 猪兼强互联网科技 为想互联网科技 紫鲸互联网科技 须眉科技是互联网公司吗 互联网金融中的现代科技 语蝶互联网科技有限公司 企晟互联网信息科技有限公司 互联网数据科技专业 工业互联网展湾科技股份有限公司 华中科技大学互联网的牛人 元气玛特互联网科技公司是外包吗 雨阳互联网卡科技有限公司 广东工业互联网大赛深圳学泰科技 全球科技与互联网公司市值变化 平安好医生打造互联网科技医疗 互联网科技自媒体灵感 云之行互联网科技 蓝思科技飞鸽互联网 互联网科技ppt模板 中化能源互联网科技招聘 昭通互联网科技选哪家 工业互联网等科技实现智能化赋能 互联网金融运营模式中的金融科技 张家口科技产业互联网平台 杭州融税互联网科技有限公司 科技美学互联网 艺术
0