Spring Batch - 如何生成批处理作业的输出文件作为Excel工作表

时间:2011-10-11 12:45:16

标签: java spring excel spring-batch

我有一个简单的弹簧批处理程序,它从INPUT文件读取数据并写入OUTPUT文件。

输入文件有50000条记录,我的块大小为1000。

输入文件中有五列。一,二,三,四,五

我的要求是创建一个excel文件(.xls文件)作为输出。

4 个答案:

答案 0 :(得分:2)

创建excel文件(.xls)没有开箱即用的支持。有两种选择。

  1. 将输出创建为CSV文件(FlatFileItemWriter),然后即可 以excel打开。这是最简单的选择 足以满足大多数应用。
  2. 其他选项是实现创建的自定义FileItemWriter excel文件使用一些库,如apache POI或jexl

答案 1 :(得分:0)

如果CSV文件不够,您需要实现自己的ItemWriter,它可以使用一个可用的Excel库(例如JExcelApi og Apache POI)将“项目”写入Excel文件。

我首先要扩展ItemWriter。确保最后关闭XLS文件。

有关创建新XLS文档的示例,请参阅POI quick guide

答案 2 :(得分:0)

如果您不想花时间实现自己的 excel writer,您可以使用 OOB csv writer 创建 CSV 文件,然后创建一个 tasklet 将 csv 文件转换为 excel。 问候

答案 3 :(得分:-1)

有一个Spring批量扩展项目提供开箱即用的Excel Reader和Writer - https://github.com/mdeinum/spring-batch-extensions/tree/master/spring-batch-excel

底层支持POI和JExcel - 尽管较新版本的excel可与POI配合使用