调用jxl包实现Excel表格数据的读取,代码如下:

  1. import java.io.File;
  2. import java.io.IOException;
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5.  
  6. import jxl.Sheet;
  7. import jxl.Workbook;
  8. import jxl.read.biff.BiffException;
  9.  
  10. /**
  11. * @Description: Excel数据处理(使用中)
  12. * @author
  13. * @date 创建时间:2016年10月11日下午12:49:46
  14. * @version 1.0
  15. */
  16. public class ExcelData {
  17. private Workbook workbook;
  18. private Sheet sheet;
  19. private int rows;
  20. private int columns;
  21. private String fileName;
  22. private String caseName;
  23. private ArrayList<String> arrkey = new ArrayList<String>();
  24. private String sourceFile;
  25.  
  26. private Log log = new Log(this.getClass());
  27. /**
  28. * @param fileName excel文件名
  29. * @param caseName sheet名
  30. */
  31. public ExcelData(String fileName, String caseName) {
  32. super();
  33. this.fileName = fileName;
  34. this.caseName = caseName;
  35. }
  36.  
  37. /**
  38. * 获得excel表中的数据
  39. */
  40. public Object[][] getExcelData() throws BiffException, IOException {
  41. workbook = Workbook.getWorkbook(new File(getPath()));
  42. sheet = workbook.getSheet(caseName);
  43. rows = sheet.getRows();
  44. columns = sheet.getColumns();
  45. // 为了返回值是Object[][],定义一个多行单列的二维数组
  46. HashMap<String, String>[][] arrmap = new HashMap[rows - 1][1];
  47. // 对数组中所有元素hashmap进行初始化
  48. if (rows > 1) {
  49. for (int i = 0; i < rows - 1; i++) {
  50. arrmap[i][0] = new HashMap<String , String>();
  51. }
  52. } else {
  53. log.error("excel中没有数据");
  54. }
  55.  
  56. // 获得首行的列名,作为hashmap的key值
  57. for (int c = 0; c < columns; c++) {
  58. String cellvalue = sheet.getCell(c, 0).getContents();
  59. arrkey.add(cellvalue);
  60. }
  61. // 遍历所有的单元格的值添加到hashmap中
  62. for (int r = 1; r < rows; r++) {
  63. for (int c = 0; c < columns; c++) {
  64. String cellvalue = sheet.getCell(c, r).getContents();
  65. arrmap[r - 1][0].put(arrkey.get(c), cellvalue);
  66. }
  67. }
  68. return arrmap;
  69. }
  70.  
  71. /**
  72. * 获得excel文件的路径
  73. * @return
  74. * @throws java.io.IOException
  75. */
  76.  
  77. public String getPath() throws IOException {
  78. sourceFile = "test-data/" + fileName + ".xls";
  79. log.info("sourceFile = "+sourceFile);
  80. return sourceFile;
  81. }
  82.  
  83. }

调用方式如下:

  1. /**
  2. * 从对应Excel表格读取数据
  3. *
  4. * @param
  5. * @return
  6. * @throws Exception
  7. */
  8. @DataProvider(name = "componentMessageQueryCase")
  9. private Object[][] QueryComponentMessageNumbers() throws Exception {
  10. // 获取Excel数据,得到一个map,依次传给test
  11. ExcelData e = new ExcelData("ComponentMessageTestCase", "componentMessageQueryCase");
  12. log.info("componentMessageQueryCase e.getExcelData() = " + e.getExcelData());
  13. return e.getExcelData();
  14. }
  15. /**
  16. * 测试配件管理页面的查询功能
  17. *
  18. * @param data 从对应Excel获取的测试数据
  19. * @return
  20. * @throws Exception
  21. */
  22. @Test(dataProvider = "componentMessageQueryCase")
  23. private void componentMessageQueryCase(HashMap<String, String> data) throws Exception{
  24. log.info("测试配件查询功能");
  25.  
  26. String OEMCode = data.get("OEMCode");
  27. String brandName = data.get("brandName");
  28. String seriesId = data.get("seriesId");
  29. String modelId = data.get("modelId");
  30. String componentNo = data.get("componentNo");
  31. String componentName = data.get("componentName");
  32. ComponentManageQuery.componentMessageQuery( OEMCode, brandName, seriesId, modelId, componentNo, componentName);
  33. }

jxl读取Excel表格数据的更多相关文章

  1. 利用 pandas库读取excel表格数据

    利用 pandas库读取excel表格数据 初入IT行业,愿与大家一起学习,共同进步,有问题请指出!! 还在为数据读取而头疼呢,请看下方简洁介绍: 数据来源为国家统计局网站下载: 具体方法 代码: i ...

  2. go读取excel表格数据

    go读取excel表格数据 使用工具 github.com/Luxurioust/excelize 百度到的都是使用这个 实际上已经改名了 github.com/360EntSecGroup-Skyl ...

  3. C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表

    调用word的com组件将400条数据导入word表格中耗时10分钟简直不能忍受,使用NPOI组件耗时4秒钟.但是NPOI中替换书签内容的功能不知道是不支持还是没找到. 辅助类 Excel表格数据与D ...

  4. C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel

    其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...

  5. jxl读取excel浮点数据时,小数点后三位截取问题

    今天导入Excel数据时,发现很多浮点数据被自动四舍五入只保留了三位,原来是jxl里对getContents()进行了封装,对数值型数据作了该处理.一般我们会对读取excel的一整套流程作为工具类,那 ...

  6. [转] Windows下使用Python读取Excel表格数据

    http://www.python-excel.org/这个网站罗列了很多关于在Python下操作Excel文件的信息,这里选择了其介绍的第一个模块xlrd . xlrd 0.9.2版本跨平台同时支持 ...

  7. python自动化,使用unittest对界面操作,读取excel表格数据输入到页面查询结果,在把结果保存到另外一张excel中

    # -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom ...

  8. Java操作Jxl实现导出数据生成Excel表格数据文件

    实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...

  9. java中使用jxl读取excel中的数据

    package bboss; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impo ...

随机推荐

  1. python返回值与局部全局变量

    Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2 Type "copyright&q ...

  2. Redis Sentinel机制与用法说明【转】

    本文来自:https://segmentfault.com/a/1190000002680804 概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Ma ...

  3. java utils

    1.获取resouces中文件的绝对路径 String filePath = XXX.class.getClassLoader().getResource("/configs/interfa ...

  4. PyCharm LicenseServer 破解

    在自己的云平台上部署了IntelliJIDEALicenseServer服务,理论上http://www.jetbrains.com的产品都可以使用,不过目前只测试了PyCharm. 大家也知道,Py ...

  5. LATTICE 存储之FIFO的使用

    坑,,以后填 对于Lattice 的  FIFO 存储器分为两种,见下图: 这两个的主要区别是一个后面加DC一个不加,那这个DC是什么意思呢??DC这里是Dual  Clock的意思,也就是双时钟的意 ...

  6. tp框架之空方法与空控制器

    对于空方法的两种方法: 1.建立一个empty模板(不建议,除非打算指定静态页面) 2.在控制器里面加一个empty方法 public function _empty() { echo "控 ...

  7. 如何使用Python在Kaggle竞赛中成为Top15

    如何使用Python在Kaggle竞赛中成为Top15 Kaggle比赛是一个学习数据科学和投资时间的非常的方式,我自己通过Kaggle学习到了很多数据科学的概念和思想,在我学习编程之后的几个月就开始 ...

  8. windows自带FTP开启后,浏览器打不开的问题

    问题描述:最近需要安装一个FTP服务器,傻瓜式的下一步下一步之后,用IE登录却发现登录不上,总是显示连接中,查找了一下网上别人的回答,发现原来系统的FTP是由主动跟被动的区别的. 问题解决:在IE下, ...

  9. 算法系列:Fibonacci

    Copyright © 1900-2016, NORYES, All Rights Reserved. http://www.cnblogs.com/noryes/ 欢迎转载,请保留此版权声明. -- ...

  10. PCA数据降维

    Principal Component Analysis 算法优缺点: 优点:降低数据复杂性,识别最重要的多个特征 缺点:不一定需要,且可能损失有用的信息 适用数据类型:数值型数据 算法思想: 降维的 ...