从Microsoft SQL Server将日期时间格式导出到Excel

时间:2014-06-04 10:44:33

标签: sql sql-server-2008 datetime export export-to-excel

将数据从SQL Server导出到Excel似乎是一个相当简单的请求。我只需要定期为用户写出一些报告,没什么太花哨的,同样的基本报告有几个不同的参数。 我是通过OPENROWSET做的:

INSERT INTO OPENROWSET(
            'MICROSOFT.ACE.OLEDB.12.0'
            ,'Excel 12.0;Database=C:\test1.xlsx;'
            ,'SELECT * FROM [BCT$]'
            ) 

我成功将所有数据从sql server的存储过程导出到excel文件中。但问题是数据的格式,如, 日期时间&数字格式。

当我将数据库日期时间值导出到excel时,而不是存储在 2014年3月18日下午6:29 这种格式中,但实际上它在数据库中,如 2014-03-18 18:29: 00 即可。

我要求将此日期时间格式 2014-03-18 18:29:00 添加到Excel中。

我尝试了不同的选项,如:

  • 在准备最后一个选择列表期间,将需要列转换为日期时间。
  • 我设置了一个空白的excel文件,其中我在require列上设置了日期时间格式。
  • 我还检查了我的默认窗口区域和时区,这也是正确的。

当我将日期时间值导出到excel时,它默认转换为文本,因此我无法执行任何进一步操作,例如订购此列。

请帮帮我。

先谢谢!。

2 个答案:

答案 0 :(得分:1)

你试过这个吗?

转换(为nvarchar(19),urdatetimeColumn,121)

导出前的选择查询中的

??

答案 1 :(得分:0)

如果在要导出的Excel文件的第一行中放置模板行,则通过OpenRowSet插入的行将采用模板行的格式。否则,它将假定所有字段的文本格式。