【问题标题】:SQL SSIS Export to Excel, Casting the Decimal ValuesSQL SSIS 导出到 Excel,转换十进制值
【发布时间】:2013-11-15 15:18:49
【问题描述】:
Select CAST (ROUND (t_paid,2) as numeric(36,2)) as [Copay] from Sales

Select CAST (ROUND (t_paid,2) as decimal(18,2)) as [Copay] from Sales

从 SQL 中,我可以看到输出值为 0.00

我将其导出为电子表格 (.xls) 格式。在 Excel 工作表中,我得到的值为 0。

根据要求,我需要将所有整数设为 0.00 或 1.00。

如何在 SSIS 包中导出到 excel 时转换值??

【问题讨论】:

    标签: sql sql-server ssis


    【解决方案1】:

    原答案:将数字转换为文本。

    根据下面的反馈,答案已更改。

    对于这种情况,下游功能需要数字输出。问题的原因是由 excel 执行的一般格式。在这种情况下,需要通过代码编辑生成的电子表格。下面包含来自 cmets 的链接,其中讨论了如何完成此任务。

    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/390b0812-e40e-4bab-9315-31710f6128c4/ssis-script-task-excel-workbooksopen?forum=sqlintegrationservices

    SSIS 2008, Excel 2007 formatting excel columns properly (Exporting, not importing)

    【讨论】:

    • 不,这不是解决方案。它必须是数字格式。
    • 诸如 76.12 或 2.34 之类的值在 Excel 工作表中正确显示。当涉及到诸如 2.00 之类的整数时,它就像“2”。无论谁得到这份报告,他们都会做一些计算。所以必须是数字格式
    • 然后查看将 excel 列格式化为两个位置的数字。 Excel 自动格式化这些值,这就是整数不显示所有位置的原因。我想 2.1 显示为 2.1 而不是 2.10。
    • 好的,那我应该这样做。无论如何,我想知道在 SSIS 包中编写一段可以自动执行此操作的代码
    • 看起来您必须在生成工作簿后以编程方式对其进行编辑。 social.msdn.microsoft.com/Forums/sqlserver/en-US/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多