当前位置: 首页 > 知识库问答 >
问题:

org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: 无法保存

班宏毅
2023-03-14

我正对着< code > org . Apache . poi . open XML 4j . exceptions . open XML 4 jruntimeexception:保存失败:保存包时出错:无法用marshaller在流中保存零件/docProps/app.xml

在每个测试场景执行完成后,尝试将每个测试场景结果(通过或失败)写入Excel表(.xlsx)时出现异常。为此,我编写了以下两个不同的模块。

请告诉我问题在哪里以及如何解决。。

//Method for writing results into Report
 public void putResultstoReport(String values[])
 {
      int j=NoofTimesExecuted;
      NoofTimesExecuted++;
      XSSFRow row = sheet.createRow(j);
      for(int i=0;i<values.length;i++)
      {
           XSSFCell cell = row.createCell(i);
           cell.setCellValue(values[i]);
      }
      try {
           System.out.println("Times:"+NoofTimesExecuted);
           wb.write(fileOut);
      }
      //fileOut.flush();
      //fileOut.close();
      }
      catch(Exception e) {
           System.out.println("Exception at closing opened Report :"+e);
      }

//Method for Creating the Excelt Report
 public void createReport()
 {
      String FileLocation = getProperty("WorkSpace")+"//SCH_Registration//OutPut//TestResults.xlsx";
      try {
           fileOut = new FileOutputStream(FileLocation);
           String sheetName = "TestResults"; //name of sheet
           wb = new XSSFWorkbook();
           sheet = wb.createSheet(sheetName);
           fileOut.flush();
           fileOut.close();
      }
      catch(Exception e)
      {
           System.out.println("Exception at Create Report file:"+e);
      }
}

共有3个答案

南门承教
2023-03-14

如果超时,就会发生这种情况。我的代码适用于小数据集,但在大数据集时会抛出这个错误。

公良骁
2023-03-14

我也有这个错误。

我发现我的错误是因为我多次打开同一个文件/工作簿。

因此,我建议在尝试关闭之前,确保只打开一次。

王高超
2023-03-14

我今天遇到了这个问题,已经解决了。

问题出在putResultstoReport()

你不能<code>wb。写入(fileOut)。

分辨率:

第一次调用< code > putResultstoReport();然后< code > WB . write(file out);

 类似资料:
  • 问题内容: 我有一些与关系有关的实体: 和 使用某些模型执行保存模型时,一切正常。表存储这些实体的所有键。但是,使用驱动程序保存模型时,表不会更改。我认为映射存在问题。 问题答案: 那是预期的行为。在双向多对多关联中,一侧必须是反侧。在您的情况下,这是一面,因为它包含: 拥有关系的字段。除非关系是单向的,否则为必需。 这意味着是关联的所有者,并且Hibernate仅在维护关联时检查该侧。

  • 问题内容: 我在Java中有以下代码行: 编写者不会编写UTF-8文件,因为当我在notepad ++中打开文件时,它表示编码为:ANSI作为UTF-8。我需要它是纯UTF-8。 你有什么建议吗? 问题答案: notepad ++(和任何其他工具)只能 猜测 编码,它不会写在文件(或某些元数据)的任何位置。 并且,如果您编写的文本不包含ASCII范围之外的任何字符(即,Unicode码点> 127

  • 07-24 12:36:23.742: W/System.err(10386):java.io.IO异常:拒绝许可07-24 12:36:23.750: W/System.err(10386): atjava.io.File.createNewFileImpl(本地方法)07-24 12:36:23.750: W/System.err(10386): atjava.io.File.createNe

  • 我使用IntelliJ IDEA15,但有一个自动保存的问题。例如,我做了一个新的配置,例如Show the line number。当我关闭IntelliJ并重新打开我的IDE时,它不保存我的配置,并向我显示以下消息: 无法保存设置:无法保存设置。请重新启动IntelliJ IDEA