我有这个使用Export-CSV生成的CSV文件。一切都很好,但是在Excel中打开时会显示如下,因为单元格的格式未设置为TEXT:
我想像所有界面一样手动打开所有单元格都设置为TEXT的CSV。
是否可以使用PowerShell自动执行此操作,在Excel中以格式设置为文本格式的单元格打开CSV?
答案 0 :(得分:1)
您可以使用一个小技巧-将数据转换为html,然后以“ xls”扩展名保存。例如:
Get-Process | convertto-html | Out-File csv2.xls
打开它时,您会看到一条警告,只需单击“确定”即可。
您可以通过在注册表中添加额外的密钥来禁止显示该警告消息:
打开注册表编辑器
HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 15.0 \ Excel \ Security
使用名称ExtensionHardening和值0创建一个新的DWORD
答案 1 :(得分:1)
找到了实现这一目标的好方法!
生成CSV文件后,以下是如何使用AutoFit列宽和TEXT格式自动将其加载到Excel中的方法:):
$Fichier = "PATH_TO_CSV.csv"
$objExcel = New-Object -ComObject Excel.Application
$WorkBook = $objExcel.Workbooks.Open($Fichier)
$WorkSheet = $WorkBook.worksheets.item(1)
$objExcel.Visible = $true
$Range = $worksheet.UsedRange.Cells
$range.NumberFormat = "@"
$WorkSheet.Columns("A:B").AutoFit()