我有一个excel文件(用户输入),我想将数据附加到另一个excel文件。
我有2列“当前余额”和“上次购买”,它们都是金额,浮动数据类型。
我创建了一个包含excel源和Excel目标的数据流任务。
问题在于,对于“当前余额”,每个单元格的值都被正确传递,但对于“上次购买”,金额将在excel文件中显示并作为实际值进行转移。
一个例子:
表示excel
中显示的以下值 Current Balance Last Purchase
6.137.736,73
15.634.073,28
15.015.015,02 15064084,69
11.397.691,51
24.764.305,42 23952682,99
这是ssis数据查看器显示值的方式:
Current Balance Last Purchase
6137736.7259
15634073.28138
15015015.0157 15064084,69
....
目标文件的预期值应为:
Current Balance Last Purchase
6137736.7259
15634073.28138
15015015.0157 15064084,684578
....
我没有访问源excel文件。 有什么方法可以解决这个问题吗?如果我使用scitp组件加载文件怎么办?
如果需要任何其他信息,请提出要求。
提前谢谢你。
答案 0 :(得分:0)
使用SSIS将数据从Excel传输到数据库可能是一项繁琐的工作。
使用SSIS导入excel文件时,默认情况下会读取实际显示的值。
但是,您可以通过向连接字符串添加提示来覆盖它。
将“扩展属性=”Excel 12.0 Xml; HDR = YES; IMEX = 1“'添加到您的连接字符串中,SSIS将在导入数据时将每个单元格读取为文本。 这适用于Excel 2007,2010,2013(尚未测试2016)
使用强大的导入向导,可以采用另一种“懒惰”方式:
将目标表的所有列的数据类型设置为varchar。 设置连接时使用强大的导入向导,并将所有列分类为文本。
这应该基本上达到相同的结果