poi解析xlsx

知道 大家都知道用poi读取xls  当时有时候 必须要读取xlsx  现在我把我做测试的demo分享给大家


package com.lt.main;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import com.lt.util.DBUtil;
import com.lt.util.Oracle;

public class ReadMain {

	
	public static void readFile(File file){
		
		Connection con = null;
		PreparedStatement ps = null;
		String sql = "insert into t_xls(mobile) values(?)";
		int count = 0;
		try {
			con = DBUtil.getConnection();
			ps = con.prepareStatement(sql);
			
			
			InputStream is = new FileInputStream(file);
			XSSFWorkbook wb = new XSSFWorkbook(is);
			XSSFCell cell = null;
	        for (int sheetIndex = 0; sheetIndex < wb.getNumberOfSheets(); sheetIndex++) {
	        	XSSFSheet st = wb.getSheetAt(sheetIndex);
	        	for (int rowIndex = 0; rowIndex <= st.getLastRowNum(); rowIndex++) {
	        		XSSFRow row = st.getRow(rowIndex);
	        		cell = row.getCell(0);
	        		cell.setCellType(XSSFCell.CELL_TYPE_STRING);
	        		count++;
	        		ps.setString(1, cell.getStringCellValue());
	        		ps.addBatch();
	        		
	        		if(count % 10000 == 0){
	        			ps.executeBatch();
	        		}
	        	}
	        }
	        ps.executeBatch();
	        
		}catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBUtil.close(ps);
			DBUtil.close(con);
		}
	}
	
	public static void main(String[] args) {
		DBUtil.startProxool();
		readFile(new File("C:\\Documents and Settings\\Administrator\\桌面\\22.xlsx"));
		
	}
}

里面会涉及把内容写入到数据库的

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jmeter是一款功能强大的性能测试工具,它通常用于模拟多个用户同时访问一个应用程序或网站,以评估其性能和稳定性。虽然jmeter主要用于HTTP请求和响应的测试,但是我们可以通过使用jmeter的扩展功能来解析XLSX文件。 要在jmeter中解析XLSX文件,首先需要安装一个名为Apache POI的库。Apache POI是一套用于操作和创建Microsoft Office格式文件的Java库,其中包括用于解析XLSX文件的API。 安装Apache POI库后,我们可以使用jmeter提供的BeanShell脚本或开发自定义Java程序来解析XLSX文件。 首先,我们需要使用BeanShell脚本创建一个XLSX解析器。在BeanShell脚本中,我们可以使用Apache POI库的API来加载和处理XLSX文件,提取需要的数据。 例如,以下是一个简单的BeanShell脚本示例,用于解析XLSX文件并提取其中的数据: ``` import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFCell; // 加载XLSX文件 FileInputStream fis = new FileInputStream("example.xlsx"); XSSFWorkbook workbook = new XSSFWorkbook(fis); // 获取第一个工作表 XSSFSheet sheet = workbook.getSheetAt(0); // 循环读取每一行 for (int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++) { XSSFRow row = sheet.getRow(rowNum); // 循环读取每个单元格 for (int columnNum = 0; columnNum < row.getLastCellNum(); columnNum++) { XSSFCell cell = row.getCell(columnNum); // 提取单元格数据 String cellData = cell.getStringCellValue(); System.out.println("Cell Data: " + cellData); } } // 关闭文件流 fis.close(); ``` 此脚本将会读取名为example.xlsxXLSX文件,然后逐行解析文件中的单元格,并将每个单元格的数据打印到控制台上。 可以将此脚本添加到jmeter的BeanShell Sampler中,并将其配置为执行所需的XLSX解析操作。 总之,通过使用jmeter结合Apache POI库,我们可以轻松地解析和处理XLSX文件,从中提取所需的数据,并用于进一步的性能测试和分析。 ### 回答2: JMeter是一款功能强大的性能测试工具,可以用来模拟多种情况下的系统负载,并对系统进行性能分析。JMeter本身不支持解析xlsx格式的文件,但我们可以使用JMeter的插件来实现对xlsx文件的解析。 首先,我们需要安装JMeter插件社区插件管理器。我们可以通过在JMeter的官方网站上下载并安装插件管理器。安装完成后,重启JMeter。 接下来,我们打开JMeter,点击插件管理器,搜索并安装名为"Excel Synthetic Data"的插件。 安装完成后,我们可以在JMeter的Test Plan下看到新增加的插件。我们可以使用"Excel Synthetic Data"插件来解析xlsx文件。 点击"Excel Synthetic Data"插件后,我们可以在插件界面上选择文件路径,并设定要解析的sheet页和数据。点击运行,JMeter即可解析xlsx文件。 当然,使用插件来解析xlsx文件的过程可能会比较复杂,因此,我们可以先将xlsx文件转换为其他格式,如csv或xml,然后再使用JMeter默认支持的CSV Data Set或XML Schema验证器进行解析。 在性能测试中,我们可以使用解析后的数据对系统进行更为准确的测试,评估系统在不同负载下的表现。通过这种方式,我们可以更好地进行性能分析和优化。总之,虽然JMeter本身不支持直接解析xlsx文件,但使用插件或转换格式的方式,我们可以轻松地实现解析xlsx文件的功能。 ### 回答3: JMeter是一款功能强大的性能测试工具,它主要用于模拟用户负载并验证应用程序的性能。虽然JMeter本身没有内置的解析xlsx文件的功能,但可以通过引入外部的解析库来实现。 一种常见的方法是使用Apache POI库。Apache POI是一个用于读写Microsoft Office文件的Java库,它可以解析和处理各种Office文件格式,包括xlsx。 首先,需要将Apache POI的相关jar文件添加到JMeter的classpath中。在JMeter安装目录下的lib目录中,将需要的jar文件(例如poi-xxx.jar、poi-ooxml-xxx.jar和poi-ooxml-schemas-xxx.jar等)复制到该目录中。 然后,在JMeter中创建一个Java Request Sampler,使用Java代码来解析xlsx文件。这可以通过编写自定义的Java代码来完成,使用Apache POI库提供的API进行解析操作。 Java代码可以使用poi-ooxml.jar中的XSSFWorkbook类来加载和解析xlsx文件。可以通过指定xlsx文件的路径,创建一个XSSFWorkbook对象。然后,可以使用该对象的API来读取和处理xlsx文件中的数据。例如,可以使用getSheetAt()方法来获取指定索引的工作表,使用getRow()方法来获取指定索引的行,使用getCell()方法来获取指定索引的单元格,从而获取单元格中的数据。 最后,可以使用JMeter的断言和监听器来验证解析的数据。例如,可以使用Response Assertion来断言解析结果中是否包含预期的数据,可以使用View Results Tree监听器来查看解析结果,并将其保存到文件或输出到控制台。 总之,通过引入Apache POI库并结合Java代码,可以在JMeter中实现解析xlsx文件的功能。这样就可以方便地进行性能测试,并对xlsx文件中的数据进行验证和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值