PowerShell可以非常方便的使用Export-Csv来生成 CSV文件,如果你的系统中已经安装了Microsoft Excel,那么你还可以借助Excel将CSV文件转换成后缀名为 XLSX 真正的Excel文件。 下面的示例演示如何通过Get-Process获取一些数据,然后将它输出到CSV文件中。Export-Csv使用了一个选项UseCulture用来确保CSV文件中的分隔符和你当前系统中安装的Excel版本匹配。
接下来,使用Excel打开CSV文件,然后另存为XLSX文件。运行很完美,除非你遇到下面这种异常:
PS> $excel.Workbooks.Open("$FileName.csv")
Exception calling "Open" with "1" argument(s): "Old format or invalid type library. (Exception from HRESULT: 0x80028018
(TYPE_E_INVDATAREAD))"
At line:1 char:1
+ $excel.Workbooks.Open("$FileName.csv")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation
这种问题属于已知的问题,当你的Excel的语言版本和你操作系统的语言版本不一致时,才可能会发生。你可能没注意到你的Windows操作系统使用的是本地化的MUI安装包。 想要尽快回避这个问题,你可以临时将进程的culture设置成你的Excel所期望的culture。
这样做也有后遗症,当你在en-US的culture下调用Excel’s的Open方法时,就不再需要使用本地的分隔符了。而是需要一个传统的逗号分隔的文件,这也是为什么我们本文的第二个例子中使用 -UseCulture参数了。 原文链接:Converting CSV to Excel File 本文链接: http://www./converting-csv-to-excel-file.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处! |
|
来自: xiaozhuang > 《PS命令》