将SQL查询数据导出到Excel

JBo*_*one 24 sql sql-server excel export-to-excel

我有一个返回非常大的数据集的查询.我无法将其复制并粘贴到我通常所做的Excel中.我一直在研究如何直接导出到Excel工作表.我在运行Microsoft Server 2003的服务器上运行SQL SERVER 2008.我正在尝试使用Microsoft.Jet.OLEDB.4.0数据提供程序和Excel 2007.我拼凑了一小段代码看起来像这样我在例子中看到过.

INSERT INTO OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\Working\Book1.xlsx;Extended Properties=EXCEL 12.0;HDR=YES')
SELECT productid, price FROM dbo.product
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,我收到一条错误消息说

"关键字'SELECT'附近的语法不正确".

有没有人对如何做到这一点或可能更好的方法有任何想法?

Jam*_*son 46

我不知道这是否是您正在寻找的,但您可以将结果导出到Excel,如下所示:

在结果窗格中,单击左上角的单元格以突出显示所有记录,然后右键单击左上角的单元格并单击"将结果另存为".其中一个导出选项是CSV.

你也可以给它一个镜头:

INSERT INTO OPENROWSET 
   ('Microsoft.Jet.OLEDB.4.0', 
   'Excel 8.0;Database=c:\Test.xls;','SELECT productid, price FROM dbo.product')
Run Code Online (Sandbox Code Playgroud)

最后,您可以考虑使用SSIS(替换DTS)进行数据导出.这是教程的链接:

http://www.accelebrate.com/sql_training/ssis_2008_tutorial.htm

  • 请注意,右键单击/另存为... CSV不引用包含逗号或换行符的文本字段.因此,如果您的任何数据包含逗号,您最终会得到格式错误的CSV. (6认同)
  • 使用您的查询时,出现错误消息“消息102,级别15,状态1,第3行,')附近的语法不正确。”我需要尽快。 (4认同)

bri*_*ian 15

如果您只需要导出到Excel,则可以使用导出数据向导.右键单击数据库,任务 - >导出数据.