我想将SQL查询结果导出到Sxcel文件(xlsx)。
我找到了一个模块(https://www.powershellgallery.com/packages/ImportExcel/6.0.0)来执行此操作,但是生成的xlsx文件包含一些不需要的和不存在的列,例如RowState
,ItemArray
,HasError
和{ {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查询的初始格式?
答案 0 :(得分:0)
使用NoNumberConversion
属性解决:
$test | Export-Excel -Path "C:\temp\xxxx.xlsx" -AutoSize -NoNumberConversion '*'