3

この問題を処理できません。ソースは次のとおりです。

        try {
        // 1) Load Docx file by filling Velocity template engine and cache it to the registry
        InputStream in = new FileInputStream("/test.docx");
        IXDocReport report = XDocReportRegistry.getRegistry().loadReport(in,TemplateEngineKind.Velocity);

        // 2) Create context Java model
        IContext context = report.createContext();
        context.put("user", variables.get("user"));

        // 3) Generate report by merging Java model with the Docx
        OutputStream out = new FileOutputStream(new File("/test_Out.docx"));
        report.process(context, out);

      } catch (IOException e) {
        e.printStackTrace();
      } catch (XDocReportException e) {
        e.printStackTrace();
      }

このコードを続行しようとすると、エラーが発生しました:

09:03:15,608 ERROR [stderr] (http--127.0.0.1-8080-1) fr.opensagres.xdocreport.core.XDocReportException: Impossible to create report for the input stream. The report loader supports only [] files type.

09:03:15,608 ERROR [stderr] (http--127.0.0.1-8080-1)    at fr.opensagres.xdocreport.document.registry.XDocReportRegistry.createReport(XDocReportRegistry.java:328)

09:03:15,608 ERROR [stderr] (http--127.0.0.1-8080-1)    at fr.opensagres.xdocreport.document.registry.XDocReportRegistry.createReport(XDocReportRegistry.java:313)

09:03:15,608 ERROR [stderr] (http--127.0.0.1-8080-1)    at fr.opensagres.xdocreport.document.registry.XDocReportRegistry.loadReport(XDocReportRegistry.java:285)

09:03:15,608 ERROR [stderr] (http--127.0.0.1-8080-1)    at fr.opensagres.xdocreport.document.registry.XDocReportRegistry.loadReport(XDocReportRegistry.java:278)

09:03:15,608 ERROR [stderr] (http--127.0.0.1-8080-1)    at fr.opensagres.xdocreport.document.registry.XDocReportRegistry.loadReport(XDocReportRegistry.java:264)

そして、それは次の行を指しています:

IXDocReport report = XDocReportRegistry.getRegistry().loadReport(in,TemplateEngineKind.Velocity);

どういう意味ですか - レポート ローダーは [] ファイル タイプのみをサポートします。InputStream からのデータのロードに何か問題がありますか? これを解決する方法がわかりません。助けてください!

4

1 に答える 1

6

エラーは、クラスパスにXDocReportfr.opensagres.xdocreport.document.docxdocx実装JARがないことを意味します。それを説明するDocxReportingと、実行したいウェルJARを含むXDocReportダウンロードサンプルを読むことをお勧めします(Velocity / Freemarkerを使用し、ODTから生成し、Docx ...)

于 2012-06-04T07:52:41.413 に答える