【问题标题】:Pasting Large Amounts of Data to Excel将大量数据粘贴到 Excel
【发布时间】:2013-01-29 14:59:58
【问题描述】:

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

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

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

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

【问题讨论】:

  • 任何理由你不能只使用openrowset将结果直接写入Excel
  • 我不清楚这与编程有什么关系......
  • Pete-什么都不算编程,但什么?它是“与编程相关的”怎么样,因为它是如何处理编程的结果。

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


【解决方案1】:

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

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

-- 编辑

确保您启用了即席分布式查询:

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

祝你好运。

【讨论】:

  • 这可能有效,但是现在我有一个 64 位版本的服务器,我得到了错误:OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 不能用于分布式查询,因为提供程序配置为在单线程单元模式下运行。根据我在网上搜索的了解,唯一的解决方法是卸载现有的 Office 产品并重新安装 64 位版本?不要以为我很快就会有时间这样做......
  • 查看编辑——听起来像是 SQL Server 配置问题。祝你好运。
  • 不,仍然不能解决它。我发现了很多关于这个问题的参考,唯一的解决方法似乎是卸载 32 位版本的 Office 并重新安装。显然 Jet 引擎的 32 位版本与 Office 一起安装。至少从我能收集到的东西来看。我确实尝试重新配置,但错误仍然存​​在。
  • 我将把它标记为答案,因为据我所知,如果不是 32 位/64 位问题,它应该可以工作。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 谢谢,我编辑了上面关于这个的原始帖子。即使为更大的列设置了唯一应该应用的选项,当我使用此方法时,它也会截断数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多