我正在尝试创建一个将csv数据导出到excel文件的SSIS包。将从C#调用此包,将csv文件作为包的输入。我是SSIS的新手,我已经能够用相同的标题产生预期的结果。
我选择了以下方法 -
我面临的挑战是我的csv可能有不同的标题(文字和标题数量可能不同)。我想要一个包来达到这个目的。
如果标题不同,上面步骤5中OleDB Souce到Excel Destination之间的映射不适用于动态标头,并且在excel输出中产生意外结果。有没有办法可以在运行时而不是在设计时决定这些映射。
答案 0 :(得分:0)
我不相信您可以在SSIS运行时指定数据流的列或列映射。您可以即时构建SSIS包,这将允许您的C#代码创建列映射,但必须在包运行之前创建映射。有关详细信息,请参阅MSDN中的Building Packages Programmatically。
另一方面,如果你要做的就是将CSV文件转换为Excel电子表格,那么使用Office对象模型的Workbook.SaveAs方法对我来说似乎合乎逻辑。