SQL 服务器 Import/Export Excel 日期的数据向导与 DTExec

SQL Server Import/Export Data Wizard vs DTExec for Excel Dates

我正在尝试使用 Visual Studio 2015 中的最新 SSDT 作为 SQL 服务器 2014 project/package 创建一个 Excel 传播sheet。我首先使用 SQL 服务器 Import/Export 数据向导来 运行 并创建一个 DTS 程序包,该程序包发出一个简单的查询以从 SQL 服务器数据库 table 检索数据其中包括 DATETIME 列并将其导出到 Excel,将 DATETIME 列保留为 Excel.

中的 DATE

运行 向导期间的 DTS 包正确地创建了 Excel 文件,其中的列值为 DATE。但是,当我使用 Visual Studio 2015(使用 32 位模式)或任何 32 位版本的 DTExec 实用程序重新 运行 向导保存到文件系统的 DTS 包时,Excel 文件始终使用作为 TEXT 的列值创建。 Excel sheet 是使用 'DateTime' 类型创建的,内部 SSIS 类型是 DT_DBTIMESTAMP。我正在使用 Microsoft.ACE.OLEDB.12.0 32 位驱动程序,因为我在我的开发人员工作站上安装了 Office 2016 32 位(尽管可能会在生产服务器上使用 64 位版本)。

关于 运行 使用向导与 运行 使用 Visual Studio 或使用 DTExec 时出现差异的任何想法?这让我发疯!

或者有没有人有任何不同的方法来强制此列成为 Excel 中的日期?

谢谢!

布莱恩

通过 SSIS 将 date 记录导出到 excel 将始终被视为 TEXT,除非您的 excel sheet 中已经有虚拟记录,然后在虚拟行之后立即导入 excel。假设您将虚拟行设置为 DATE 格式