0

尝试使用 Jmeter 创建xlsx文件时出现错误。实际上,我已经尝试使用HSSF(对于 .xls)并且效果很好。但是当我尝试使用xlsx更改它时,我遇到了错误。我已经在 jmeter lib文件上复制了poipoi-ooxml的 jar文件。这是我的简单脚本:

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.*;
import java.lang.String;
import java.lang.Object;

XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sample sheet");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("HENCIN");

try {
    FileOutputStream out = new FileOutputStream(new File("D:\\Jmeter\\testhencin.xlsx"));
    workbook.write(out);
    out.close();
    System.out.println("Excel written successfully..");
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

实际上,当我试图找到错误时,问题来自这一行:

XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sample sheet");

请有人帮我弄清楚。它适用于HSSF,但在XSSF上不起作用。我收到错误:响应代码:500

Response message: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval  org/apache/xmlbeans/XmlObject
4

1 回答 1

1

我会建议:

  1. 捕获所有可能的异常并将堆栈跟踪打印到 jmeter.log 文件
  2. 重新抛出异常以确保您不会得到假阳性采样器结果,例如:

    } catch (Throwable e) {
        e.printStackTrace();
        log.info("Error in Beanshell", e);
        throw e;
    } 
    

关于您的问题,很可能是由于JMeter classpath中缺少XMLBeans jar 。我建议如下:

  • 获得最新 JMeter 版本的“干净”安装
  • 下载最新版本的tika-app.jar并将其放到 JMeter 的“lib”文件夹中
  • 重新启动 JMeter 以拾取 jar

使用 Tika,您将获得捆绑的所有必要库,此外,您的 JMeter 将在View Results Tree侦听器中显示二进制文件的内容。有关更多详细信息,请参阅如何使用 JMeter 从文件中提取数据一文。

于 2016-11-08T10:18:46.397 回答