12

私は直面しているorg.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Fail to save:an error occurs while saving the package : The part /docProps/app.xml fail to be saved in the stream with marshaller <br/> org.apache.poi.openxml4j.opc.internal.marshallers.DefaultMarshaller@7c81475b

各テストシナリオの実行完了後、各テストシナリオの結果(PASSまたはFAIL)をExcelシート(.xlsx)に書き込もうとすると例外が発生する。この目的のために、次の 2 つの異なるモジュールを作成します。

どこが問題なのか、どうすれば解決できるのか教えてください..

//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);
      }
}
4

6 に答える 6

5

私は今日この問題を抱えていて、すでに修正しました。

問題はputResultstoReport()

wb.write(fileOut);あなたのサイクルではできません。

解像度:

最初に電話putResultstoReport();してからwb.write(fileOut);

于 2014-01-24T02:15:14.363 に答える
0

同じ問題がありました。出力のエクセルファイル名を短くしたら止まりました。

于 2020-01-20T13:37:20.960 に答える
0

同様の問題がありました。最後に理由がわかりました。それは、以下のjarファイルのバージョンが上書きされていたことです。

  org.apache.xmlgraphics:batik-dom

したがって、以下の依存関係を追加したところ、正常に動作しています。

<dependency>
    <groupId>org.apache.xmlgraphics</groupId>
    <artifactId>batik-dom</artifactId>
    <version>1.8</version>
</dependency>

この jar には の依存関係が含まれていxalanます。レポートを生成するにxalanは必須です。

于 2017-12-01T12:04:04.117 に答える