【问题标题】:How to export results to Excel using SQLCMD in Powershell如何在 Powershell 中使用 SQLCMD 将结果导出到 Excel
【发布时间】:2015-10-27 00:13:22
【问题描述】:

我在 PowerShell 中使用 SQLCMD 命令来运行 SQL 脚本。当我通过管道将输出传输到 TXT 时,格式都搞砸了。我想将结果导出到 Excel 文件。我该怎么做?

我的命令

Sqlcmd -Q 'select top 10 * from people'  -S serverName -d testDB -o c:\output.txt | format-table

【问题讨论】:

    标签: sql sql-server powershell cmd sqlcmd


    【解决方案1】:

    使用 sqlcmd.exe 的列分隔符开关-s。那么你可以使用excel的'Text to Columns',或者在知道列分隔符的情况下导入它。

    -s col_separator

    指定列分隔符。默认为空格。此选项设置 sqlcmd 脚本变量 SQLCMDCOLSEP。要使用对操作系统具有特殊含义的字符,例如和号 (&) 或分号 (;),请将字符括在引号 (") 中。列分隔符可以是任何 8 位字符。

    【讨论】:

    • 这似乎是一种变通方法,而不是一种解决方案
    【解决方案2】:

    您可以使用 csv2xls 工具,

    大约 10 年前,我在一家使用 vb.NET 工作的公司中写过一篇文章,但现在肯定有开源,您可以从 github 或 sourceforge 尝试。

    最终,如果您将 Ms-Office 与 powershell 安装在同一台计算机上,您可以使用它打开生成的 csv 并将其保存为 xls。

    https://social.technet.microsoft.com/Forums/windowsserver/en-US/370ee470-f2cd-4f30-a167-b106dd51d47a/powershell-convert-csv-to-xlsx?forum=winserverpowershell查看示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-15
      • 2017-10-07
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      相关资源
      最近更新 更多