将大量数据粘贴到Excel中

时间:2013-01-29 14:59:59

标签: sql-server excel export-to-excel export-to-csv

我有一个使用Management Studio在SQL Server中运行的查询。结果输出到网格,然后我将其复制并粘贴到以.csv格式保存的Excel工作表中。我之前从未遇到过任何问题,但是这个特定的查询包含一个包含大量HTML(几千个字符串)的列。如果我尝试将整个查询输出粘贴到excel中,则无法处理该列,并且该工作表无法使用。

我必须粘贴其他所有内容,然后分别复制包含HTML的每一行,并双击Excel中的目标单元格以进入“编辑模式”。有没有办法解决?

我尝试过:输出到文本,但无论我在SSMS中设置最大列值,它都会截断HTML列。我已尝试输出到文件,但它给我的唯一文件选择是Crystal Reports。有没有办法让Excel全局处于编辑模式,以便我可以一次粘贴整个事物,或者告诉SSMS(Express Version)输出到.csv文件?

ETA:我尝试​​右键单击网格结果并另存为.csv但它仍然截断HTML列。即使我将“结果到文本”选项设置为8K字符。在结果到网格选项中将非XML数据设置为超过64K。

3 个答案:

答案 0 :(得分:2)

正如@Remy指出的那样,您是否尝试过使用OPENROWSET

insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=C:\template.xls;', 
'SELECT * FROM [SheetName$]') 
select * from myTable

- 编辑

确保您启用了Ad Hoc Distributed Queries:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
祝你好运。

答案 1 :(得分:1)

右键单击SSMS中的数据库选择“任务”,然后选择“导出数据...”。将SQLServer设置为源,将Excel文件设置为目标。在下一步中选择“编写要指定的查询...”并粘贴您的查询。如果您需要自动执行此操作,则可以使用SSIS。 如果您没有SSMS,或者每次使用免费工具时都不想通过导出向导。从www.r-tag.com下载R-Tag报告管理器,将您的查询添加为SQL Ad-hoc报告并将其导出到Excel。

答案 2 :(得分:0)

在SSMS 2012中(不确定早期版本),您可以右键单击结果并选择Save Results As...,然后选择CSV作为输出文件。