1

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

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

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

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

4

3 回答 3

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 分布式查询:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO

祝你好运。

于 2013-01-29T15:08:00.187 回答
1

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

于 2013-04-30T00:03:12.693 回答
0

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

于 2013-01-29T15:07:16.977 回答