我使用通用的FlatFileItemWritter来创建csv,但是当我创建它时,所有值都插入到一列中
这是我的FlatFileItemWritter XML:
<bean id="flatFileItemWriter"
class="org.springframework.batch.item.file.FlatFileItemWriter"
scope="step">
<property name="resource"
value="file:${folder.destination}" />
<property name="lineAggregator">
<bean class="org.springframework.batch.item.file.transform.DelimitedLineAggregator">
<property name="delimiter" value="," />
<property name="fieldExtractor">
<bean class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor">
<property name="names"
value="${sql.fields}" />
</bean>
</property>
</bean>
</property>
</bean>
总结数据在Csv中保存如下:
Column 1 | Column 2 | Column 3 |
Christian,9999999-A,Company | | |
第1列,第2列和第3列只是它如何存储在CSV中的示例,我不想要header
我想将这样的数据存储在不同的列中,而不是全部存储在第一列:
Christian,9999999-A,Company
我通过属性获取值sql.fields和folder.destination
可以做我想要的通用FlatFileItemWritter,或者我需要做一个customFlatFileItemWritter
如果你需要更多的东西,我会编辑这个
抱歉我的英文不好,谢谢你读了我
答案 0 :(得分:-1)
也许我迟到了,但是如果你想要标题和数据,也许你应该写点什么来分别做标题?
setHeaderCallback应该可以做到这一点:
http://docs.spring.io/spring-batch/apidocs/org/springframework/batch/item/file/FlatFileItemWriter...
如果问题仍然存在,那么使用的属性会有所帮助。