导出为CSV / Excel时如何保持SQL格式

时间:2019-04-29 08:08:18

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

我想将SQL查询结果导出到Sxcel文件(xlsx)。 我找到了一个模块(https://www.powershellgallery.com/packages/ImportExcel/6.0.0)来执行此操作,但是生成的xlsx文件包含一些不需要的和不存在的列,例如RowStateItemArrayHasError和{ {1}}。 我使用了以下命令:

Table

为避免这种情况,我将查询导出为CSV文件

$DataSet.Tables[0] | Export-Excel -Path "C:\temp\xxxx.xlsx" -AutoSize

它不会导出这些不需要的列。我使用

将其加载回去
$DataSet.Tables[0] | Export-Csv -Path "C:\temp\xxxx.csv" -Delimiter ';' -NoTypeInformation -Encoding UTF8

然后将其导出到xlsx:

$test = Import-Csv -Path "C:\temp\xxxx.csv" -Delimiter ';'

我的Excel文件现在没有其他列了。

我的问题是,对于CSV和Excel文件,格式输出错误。例如,我得到的是$test | Export-Excel -Path "C:\temp\xxxx.xlsx" -AutoSize 而不是8,0154E+16。 因此,如果我将CSV或Excel转换为SQL查询,则会导致

80154026286723600

这是错误的。

导出到CSV或Excel时如何保留SQL查询的初始格式?

1 个答案:

答案 0 :(得分:0)

使用NoNumberConversion属性解决:

$test | Export-Excel -Path "C:\temp\xxxx.xlsx" -AutoSize -NoNumberConversion '*'
相关问题