我尝试使用Visual Studio 2015中的最新SSDT作为SQL Server 2014项目/包创建Excel电子表格。我首先使用SQL Server导入/导出数据向导来运行和创建一个DTS包,该包发出一个简单的查询以从包含DATETIME列的SQL Server数据库表中检索数据并将其导出到Excel,并将DATETIME列保留为DATE在Excel中。
在向导期间运行DTS包正确创建了Excel文件,其列值为DATE。但是当我重新运行向导使用Visual Studio 2015(使用32位模式)或任何32位版本的DTExec实用程序保存到文件系统的DTS包时,始终使用列值创建Excel文件文本。 Excel工作表是使用' DateTime'创建的。 type和内部SSIS类型是DT_DBTIMESTAMP。我使用Microsoft.ACE.OLEDB.12.0 32位驱动程序,因为我在开发人员工作站上安装了Office 2016 32位(尽管可能会在生产服务器上使用64位版本)。
使用向导运行它与在Visual Studio中运行或使用DTExec时出现差异的原因有何想法?这让我发疯了!
或者有没有人有任何不同的方法来强制此列成为Excel中的DATE?
谢谢!
布赖恩
答案 0 :(得分:1)
通过SSIS将date
个记录导出到excel将始终被视为TEXT
,除非您的Excel工作表中已有虚拟记录,然后在虚拟行之后立即导入该Excel。假设您将虚拟行设置为DATE
格式