【Java】之获取CSV文件数据以及获取Excel文件数据
一、获取CSV文件数据

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.SkipException;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; public class DataProviderTest { public Iterator<Object[]> readDataFromCSV(String path){
// 读取CSV文件方法
List<Object[]> list = new ArrayList<Object[]>();
try {
FileReader is = new FileReader(new File(path));
BufferedReader br = new BufferedReader(is);
while(br.ready()){
list.add(br.readLine().split(","));
}
return list.iterator();
} catch (Exception e) {
throw new SkipException(e.getMessage());
}
} @DataProvider
public Iterator<Object[]> getData1() throws UnsupportedEncodingException {
// 获取CSV方法
String path = this.getClass().getResource("test.xlsx").getPath();
String path1 = java.net.URLDecoder.decode(path, "utf-8");
System.out.println(path1);
return readDataFromCSV(path1); } @Test(dataProvider = "getData1")
public void test1(String text1,String text2) {
// 打印CSV数据
System.out.println(text1);
System.out.println(text2); }
}

二、获取Excel文件数据

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.SkipException;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; /**
* @author zc
* @date 2021-01-21 17:18
*/ public class DataProviderTest { public Object[][] getDataFromExcel(String excelPath){
// 读取excel文件方法
Workbook book;
try {
FileInputStream f = new FileInputStream(excelPath);
book = new XSSFWorkbook(f);
Sheet sheet = book.getSheetAt(0);
int rowInExcel = sheet.getPhysicalNumberOfRows();
int columnInExcel = sheet.getRow(0).getPhysicalNumberOfCells();
String[][] obj = new String[rowInExcel-2][columnInExcel];
for (int row = 2; row < rowInExcel; row++) {
for (int col = 0; col < columnInExcel; col++) {
sheet.getRow(row).getCell(col).setCellType(Cell.CELL_TYPE_STRING);
obj[row-2][col] = sheet.getRow(row).getCell(col).getStringCellValue();
System.out.println(obj[row-2][col]);
}
}
return obj;
} catch (Exception e) {
// TODO Auto-generated catch block
throw new SkipException(e.getMessage());
}
} @DataProvider
public Object[][] getData2() throws UnsupportedEncodingException {
// 获取excle方法
String path = this.getClass().getResource("test.xlsx").getPath();
String path1 = java.net.URLDecoder.decode(path, "utf-8");
System.out.println(path1);
return getDataFromExcel(path1);
} @Test(dataProvider = "getData2")
public void test1(String text1,String text2) {
// 打印CSV数据
System.out.println(text1);
System.out.println(text2); }
}

【Java】之获取CSV文件数据以及获取Excel文件数据的更多相关文章
- PHP实时生成并下载超大数据量的EXCEL文件
最近接到一个需求,通过选择的时间段导出对应的用户访问日志到excel中, 由于用户量较大,经常会有导出50万加数据的情况.而常用的PHPexcel包需要把所有数据拿到后才能生成excel, 在面对生成 ...
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转
效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中[附源代码下载]) 本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较 ...
- 数据导出至Excel文件--好库编程网http://code1.okbase.net/codefile/SerializeHelper.cs_2012122018724_118.htm
using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; ...
- 用node.js写一个简单爬虫,并将数据导出为 excel 文件
引子 最近折腾node,最开始像无头苍蝇一样到处找资料,然而多数没什么卵用,都在瞎比比.在一阵瞎搞后,我来分享一下初步学习node的三个过程: 1 撸一遍NODE入门,对其有个基本的了解: 2 撸一遍 ...
- Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...
- Qt中将QTableView中的数据导出为Excel文件
如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能.之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件.在使用了QtSql模块后,我很容易的将这个类 ...
- Asp.Net MVC 实现将Easy-UI展示数据下载为Excel 文件
在一个项目中,需要做一个将Easy-UI界面展示数据下载为Excel文件的功能,经过一段时间努力,完成了一个小Demo.界面如下: 但按下导出Excel后,Excel文件将会下载到本地,在office ...
- Pl/sql 如何将oracle的表数据导出成excel文件?
oracle将表数据导出成excel文件的方法 1)在SQL窗体上,查询需要导出的数据 --查询数据条件-- ; 结果视图 2)在查询结果的空白处,右键选择Copy to Excel 3) 查看导出e ...
- C#将数据集DataSet中的数据导出到EXCEL文件的几种方法
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...
- VB将MSHFlexGrid数据导出到Excel文件通用功能
1.通用导出Excel功能. 2.将 MSHFlexGrid数据导出到Excel文件通用功能. 3.具体代码如下: '将下列代码保存到一模块文件中,调用方法:Export fgrid1,cd1 Pub ...
随机推荐
- 【资料分享】Xilinx Zynq-7010/7020工业核心板规格书(双核ARM Cortex-A9 + FPGA,主频766MHz)
1 核心板简介 创龙科技SOM-TLZ7x是一款基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC工业核心板,处理器集成PS端双核ARM Co ...
- Codeforces Round 894 (Div. 3) A-E cd 894 div3
A. Gift Carpet 每道题都是伸缩代码框有ac代码请不要漏掉 --------------------------题解----------------------------- 按先行便然后 ...
- 一个简单的html时间显示页面-可做小工具
代码由 chatgpt3.5 生成,已验证 index.html <!DOCTYPE html> <html> <head> <meta charset=&q ...
- TCP/UDP 协议和 HTTP/FTP/SMTP 协议之间的区别
前言 我们经常会听到HTTP协议.TCP/IP协议.UDP协议.Socket.Socket长连接.Socket连接池等字眼,然而它们之间的关系.区别及原理并不是所有人都能理解清楚. 计算机网络体系结构 ...
- SpringBoot实现Mysql读写分离
前言 在高并发的场景中,关于数据库都有哪些优化的手段? 常用的有以下的实现方法:读写分离.加缓存.主从架构集群.分库分表等,在互联网应用中,大部分都是读多写少的场景,设置两个库,主库和读库. 主库的职 ...
- JavaSe 统计字符串中字符出现的次数
public static void main(String[] args) { // 1.字符串 String str = "*Constructs a new <tt>Has ...
- P2872
[USACO07DEC]Building Roads S 题意描述 输入 4 1 1 1 3 1 2 3 4 3 1 4 输出 4.00 点拨 题目大意就是求最小的能把几个集合连起来的边权值之和,我们 ...
- $Kruskal$ 算法的实现 | 最小生成树
\(Kruskal\) 算法 以 Luogu P3366 为例题 实现方法:从小到大遍历每一条线,如果该线连接的两点已经都在树内则不处理,否则描出这条线 从小到大是一个贪心的实现方法,由于每描出一条线 ...
- python面向对象:继承
python面向对象:继承super()的用 super()的用法 一: class A: def __init__(self): self.a = '这是一个属性' def add(self, x) ...
- 测试工程师-年终总结PPT
2022年年终总结-xxx 一.首页 2022年年终总结暨2023年工作计划 汇报人:测试组-xxx 日期: 2023.1.13 二.目录 1.年度工作概述 2.工作亮点展示 3.持续精进点 4.明年 ...