在SSIS中将Excel列从常规转换为日期

时间:2019-02-21 20:27:13

标签: sql-server excel date ssis ssis-2012

我在SQL中有一个nvarchar(50)列,其格式为mm/dd/yyyy。我正在尝试使用SSIS在excel中导入此数据。在ssis程序包中,我在Execute SQL任务中创建了数据类型为Date的Date_1列(因为需要动态创建.xlsx文件),并且在我的数据流任务中,我将Date_1转换为date(DT_DATE)。但是在数据迁移之后,当我检查我的文件列Date_1时是常规数据类型,而不是Date。有人可以帮我如何将“常规”列转换为“日期”

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

您在Microsoft Excel界面中显示的下拉列表与数据类型无关,它是Number Format属性,用于更改值在Excel中的显示方式。

要更改此属性,您需要在脚本任务中使用Microsoft.Interop.Excel库并更改Excel.Range.NumberFormat属性。例如:

Range rg = (Excel.Range)xlWorksheet.Cells[1,1];
rg.EntireColumn.NumberFormat = "MM/dd/yyyy";

参考