【问题标题】:Rows concatenating while copying data from SQL to Excel将数据从 SQL 复制到 Excel 时连接的行
【发布时间】:2017-05-09 19:44:36
【问题描述】:

我的 SQL 查询返回 100 行。当我将结果复制到 Excel 工作表或尝试以 CSV 格式下载时,其中一列中的数据被连接起来,而 Excel 仅显示 30 行。

例如我的查询结果显示:

Id Name Expression
1  aa   One
2  bb   Two
3  cc   Three
4  dd   Four

excel表格中的数据被复制为:

  Id Name Expression
    1  aa   One
    3  cc   Two Three Four

欢迎任何帮助!

【问题讨论】:

  • 你的数据中有逗号吗?
  • 没有,但是有(%_@$.-)

标签: sql-server excel copy-paste


【解决方案1】:

右键单击 SQL Server 上的任何数据库 -> 任务 -> 导出数据,将弹出一个向导。选择您的源 SQL Server 和目标作为平面文件目标,您可以在驱动器上放置一个空的 csv 文件,选择格式、文本限定符。跟随向导。看看你能得到什么。

【讨论】:

  • 我想我找到了导致问题的原因。它是双引号。这会解决这个问题吗?我已经尝试过 CSV,它仍然无法处理连接。
  • 在导出向导中,文本限定符将 更改为双引号 "。顺便说一下,当您将导出的 CSV 作为记事本打开时,有多少行?
  • 复制文本后就搞砸了。所以我在复制之前处理了它。
【解决方案2】:

由于我发现问题是由双引号引起的,所以我只是用双引号分隔行。

所以我们可以分隔行,即首先选择所有不带引号的行,然后选择所有带引号的行 或者 用其他东西替换引号。

Select  Id, Name, Case Expression When '"' THEN 'BuggerQuotes' ELSE Expression FROM table1

将数据复制到 Excel 工作表后,我用双引号替换了我的 BuggerQuotes 文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2020-03-18
    • 2016-05-22
    • 1970-01-01
    相关资源
    最近更新 更多