0

私はstruts1でプロジェクトを行っています。小さな問題があります。

HTMLレポートがあります。これをMSWordドキュメントにエクスポートして印刷する必要があります。どうすればよいですか?

4

2 に答える 2

2

Apache POIを使用して、レポートをMicrosoftWordで出力することを検討できます。このリンクを参照して、ApachePOIを使用してどのように行われるかを確認することもできます。基本的な考え方は、Actionを拡張するクラスで、HttpServletResponseを使用してファイルを出力することです。例えば:

String filename = "words.doc";
p_response.setContentType("application/msword");
p_response.setHeader("Content-disposition",
"Attachment; filename=" + filename);

幸運を!

于 2012-06-28T03:42:44.490 に答える
1

レポートをプレーンでシンプルなHTMLとして書き出します。次に、ブラウザに嘘をつきます。

response.setHeader("Content-Disposition", "attachment; filename=\""
            + reportName + ".doc\"");
response.setContentType("application/msword");

report.writeTo(response.getOutputStream()); // Actually writes HTML, not doc.

ブラウザはそれがWord文書であると想定し、それをどのように開きたいか(つまり、MS WordまたはOpenOfficeを使用して)ユーザーに尋ねます。MS WordとOpenOfficeはどちらも、.docファイルのHTMLコンテンツにだまされないように十分に巧妙であり、ユーザーが編集できるように開きます。

レポートを印刷するだけでよい場合は、代わりにPDFをエクスポートすることをお勧めします。おそらく、JasperReportsを使用するか、印刷用にプレーンなHTMLページをユーザーに提供するだけです。

于 2013-06-13T00:00:16.223 に答える