如果第一行不是 SSIS Excel 数据源的日期,则读取日期列
我正在尝试读取包含日期列的 Excel 工作表。由于第一行是空的,SSIS 似乎将该列视为数字列。
以下是 Excel 列:
当我在 ssis Excel 源编辑器中预览它时,它显示:
您可以看到我的 TermDate 列显示为数字而不是日期。非常感谢任何帮助
I am trying to read in an excel worksheet that has a date column. It appears that SSIS is treating the column as a number column since the first row is empty.
Here are the Excel columns:
When I preview it inside of ssis Excel source editor it shows:
You can see my TermDate column is showing up as numbers and not a date. Any help is greatly appreciated
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
欢迎使用 Excel 的日期存储。 http://www.debugging.com/bug/19252 我最终在C# 应用程序从数字日期切换到日期时间日期。
您可以在脚本转换中使用该公式来生成日期时间值,也可以使用丑陋的表达式来执行相同的操作。现在已经很晚了,所以我假设您的日期在上面提到的假 1900-02-29 之后
DATEADD("day",TermDate - 1,(DT_DATE)"1899-12-31")
下面是一个使用您的输入数据(派生列中的上述表达式)生成
ExcelDate
的示例。我携带了TermDateAsDate
以确保我按照预期匹配日期。Welcome to Excel's storage of dates. http://www.debugging.com/bug/19252 I ended up using this function in C# app to switch from the numeric date to a datetime date.
You can either use that formula in a script transformation to generate a DateTime value or use an ugly expression to do the same. It's late so I'm assuming your dates are after the fake 1900-02-29 as mentioned above
DATEADD("day",TermDate - 1,(DT_DATE)"1899-12-31")
Below is an example using your input data, the above expression in a derived column to generate
ExcelDate
. I carried theTermDateAsDate
to ensure I was matching dates as expected.