先日の記事でExcelに出力するのを書いたけど、もっといい方法を見つけました。
はてなブログ | 無料ブログを作成しよう
はてなブログは、無料でしっかり書けるブログサービスです。日々の生活から感じたこと、考えたことを書き残しましょう。
ExcelのワークシートにVelocityのような感じでコマンドを埋め込む方法。Velocity好きとしては、これに書き直します。
import org.seasar.fisshplate.template.* import org.apache.poi.hssf.usermodel.* : : /** excel形式でダウンロード */ def downloadXLS = { if (servletContext.customerPoint) { InputStream is = new FileInputStream( servletContext.getRealPath("/WEB-INF/customer_point_template.xls")) def template = new FPTemplate() HSSFWorkbook wb = template.process(is,[list:servletContext.customerPoint]) response.setHeader("Content-disposition", "attachment; customer_point.xls") response.contentType = "application/vnd.ms-excel" wb.write(response.outputStream) } } |
超短くなりましたね。行を作ったりしなくていいので、あきらかにこの方がシンプルですね。
コメント
[…] Fisshplateは、Excelをテンプレート化してデータを埋め込んだExcelファイルを作るライブラリ。 プロジェクトのサイトはこちら さらにいい方法を見つけた […]