这就是我在SSIS包中尝试做的事情:
这会阻止我的所有图表工作。我想知道如何通知excel将特定列数据视为数字。
答案 0 :(得分:5)
我未测试的一种可能的解决方案是将数字字段转换为DT_R8或DT_CY。 Excel destination only appears to support these numeric data types和SSIS目标可能隐式将所有其他数据类型转换为文本。
另一种可能的解决方案是add numeric values to the numeric columns,以便它知道在模板表中将目标格式化为数字。您可以隐藏值,也可以使用要发布到文件的新数据覆盖它们。
就个人而言,如果我知道我需要导出到Excel,那么我使用SSRS报告并使用sp_start_job为计划作业运行报告订阅。 SSIS中导入和导出到Excel功能非常糟糕,因为它们依赖于Jet 4.0引擎。
答案 1 :(得分:0)
SQL Server,默认情况下,数字格式为27376.00。如果您的区域设置与此格式的Windows不同,则不起作用。
复制示例:2,7376.00" 您的Windows格式需要:" 2.7376,00"
就我而言,将西班牙语区域设置更改为西班牙语墨西哥语。它奏效了。
答案 2 :(得分:0)
我会添加一行包含模板数据和格式并隐藏该行。这对我有用。导入时,它将复制第一个(隐藏)行格式。
答案 3 :(得分:-1)
以下是针对3种不同毛刺的3种不同解决方案:
值1
1234
空白单元
1234
解决方案2
= IIF(IsNumeric(Fields!TEST.Value.ToString()),CDBL(IIF(IsNumeric(Fields!TEST.Value.ToString()),Fields!TEST.Value.ToString(),“0”)),“ “)
Value 2
1234
空
345个
空
解决方案2
= IIF(IsNumeric(Fields!TEST.Value.ToString()),CDBL(IIF(IsNumeric(Fields!TEST.Value.ToString()),Fields!TEST.Value.ToString(),“0”)),“ NULL“)
Value 3
1234
空
345个
N / A
550个
TBA
440个
599个
不适用的
解决方案3
= IIF(IsNumeric(Fields!TEST.Value.ToString()),CDBL(IIF(IsNumeric(Fields!TEST.Value.ToString()),Fields!TEST.Value.ToString(),“0”)),Fields !TEST.Value.ToString()),