[英]Import excel with leading empty cells removes commas
我有一个包含一些数据的简单 excel 文件。 一些特定的列可以是 NULL, 0 或具有 numeric(10,5) 的长度,例如以下格式: 12345.12345 。
来自 excel 源的 output 列配置为 SSIS 类型 DT_R8(双精度浮点)。
这工作正常。 一些进一步的文件具有相同的格式,但有时标题后面的前导行是空的
在这种情况下,SSIS 将导入以下不带逗号的行。 它们只是被删除。 12345.12345将是1234512345 。
所以我将 excel 输出列更改为 SSIS 类型的 DT_WSTR(50) (这是 unicode-text) 并再次执行到 DT_R8 的转换任务(双精度)
. 这适用于带有前导空单元格的文件!
但是,如果我导入另一个文件而不引导空行 - 我会得到巨大的结果:
9,98994 转换为 9,9894E+16。 另一个更糟糕的例子(图中未显示):408,452 将转换为 408452。
因此,要么我导入 excel 类型为 DT_R8 (float) 并在导入空前导单元格时丢失逗号,要么我导入 excel 类型为 DT_WSTR (text) 并在没有空前导单元格的情况下导入时获得大量数字。
我不知道这是什么错误以及如何修复它。 我尝试了很多数据转换并尝试了很多数据类型。 我无法自行更改 excel 文件,因为它是自动生成的,我无法使用WHERE COLUMNNAME IS NOT NULL
导入,因为其他列也包含重要数据。
编辑:带有前导空单元格的文件的附加信息:这种文件格式有点奇怪,是导致错误的原因。 第一个值为 0 的值在第 65 行:
我认为这为时已晚,SSIS 将此列解释为不带逗号的整数值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.