如何管理多个输出csv格式

时间:2015-03-06 14:18:44

标签: c# sql csv ssis datamapper

我需要从存储在SQL数据库中的数据生成多种csv格式的输出文件。举个例子,我有以下数据:

Order Id | Order Date | PO Number | Total Value
100      | 06/03/2015 | 12345     | £175.50

由此我需要生成两个csv文件。

格式中的第一个:

orderdate,orderid,ponum,value
06-03-2015,000100,12345,17550

第二个:

order number,date,amount,ref
100,060315,£175.50,123456

如此不同的字段标题,顺序,格式,前导零,小数点等。

我的问题是 - 如果我想支持更多新的(尚未知的)格式通过配置而无需编写/更新代码,我有哪些选择?

我相信XPATH可能是一种方法(并使用一些第三方工具来管理映射等),但我对此并不熟悉,而且看起来有点笨拙。如果它是一个JSON到CSV的映射器,那么我会对此更加满意。

我也想知道SSIS是否可以胜任这项工作 - 但我再也不太熟悉了。

我可以构建一些东西(我是C#.NET开发人员)并使用字符串格式化程序,并为此提供一些UI。

有任何建议,想法,经验吗?

更新

所要求的功能是,可以在几个小时内支持新格式,由非编码人员设置,理想情况下通过配置文件或UI。这可能是每月少数几个 - 但转变很重要。

1 个答案:

答案 0 :(得分:0)

我建议使用一些开源组件来写入CSV文件。见here为什么。因此,您唯一需要管理的是列的顺序。您可以通过使用可能由某种配置文件生成的动态sql来处理它。该文件还可以包含csv组件所需的信息。