使用OpenCSV导出结果集数据时更改默认日期格式
问题描述:
我试图使用OpenCSV将数据导出为CSV。使用OpenCSV导出结果集数据时更改默认日期格式
数据库是宇宙Db和CSV生成罚款与“$”作为分隔符。
但是,当我们尝试将相同的CSV数据加载到IBM DB2数据库时,由于IBM DB2不支持此格式,因此它由于日期格式不兼容(即DD-MMM-YYYY
)而失败。
代码,以生成CSV:
private CSVWriter writer;
writer = new CSVWriter(new OutputStreamWriter(new FileOutputStream(savePath + "\\" + tableName+ ".csv"),"UTF-8"), '$',CSVWriter.NO_QUOTE_CHARACTER);
writer.writeAll(rs, false); //rs is the resultset returned for the select query
writer.flush();
我们使用加载负荷DB2s小鬼&命令CSV。
如何在生成CSV时更改默认日期格式?
活动目的: 将数据从Universe数据库加载到IBM DB2数据库。
注:宇宙DB不支持更新的结果集,因此该选项并没有考虑到:)
答
目前在openCSV的主干构建有变化的ResultSetHelperService允许您设置日期和日期时间格式转换为您想要的格式,然后可以在处理结果集之前调用您创建的CSVWriter中的setResultSetHelper。
这些将在未来几周内推出的3.6版本中发布(我只是在等待这个版本的主要贡献者从蜜月回来)。
这必须是一个很酷的功能,我也在等待很长时间.. :) :) 我将如何知道OpenCSV 3.6版本的发布? –
要么在sourceforge页面 - https://sourceforge.net/projects/opencsv/或者你可以检查maven*回购 - http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com .opencsv%22%20AND%20a%3A%22opencsv%22我在同一天发布给两者。我也尝试保持维基更新,以便您可以在那里查看。 https://sourceforge.net/p/opencsv/wiki/What%27s%20new/或https://sourceforge.net/p/opencsv/news/ –
这将是一个很大的帮助,如果你分享一些例子的用法ResultSetHelperService和setResultSetHelper在写入csv时处理日期的上下文中。 –