Принудительно открывать CSV с помощью формата данных столбца = TEXT в Excel (Powershell) - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть этот CSV-файл, который я генерирую с помощью Export-CSV. С ним все в порядке, но при открытии в Excel он выглядит так, потому что ячейки не отформатированы как TEXT: enter image description here

Я хочу принудительно открыть CSV с ячейками, настроенными на TEXT, как вы можете сделать это вручную с помощью интерфейса.

enter image description here

Есть ли способ автоматизировать это с помощью PowerShell, открывая файл CSV в Excel с ячейками, отформатированными как текст?

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Найден очень хороший способ сделать это!

После генерации CSV-файла, вот как автоматически загрузить его в Excel с шириной столбца AutoFit и форматом TEXT для ячеек :):

$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()
0 голосов
/ 20 ноября 2018

Есть небольшая хитрость, которую вы можете использовать - конвертировать данные в html и сохранять с расширением "xls". Например:

Get-Process | convertto-html | Out-File csv2.xls

При открытии вы увидите предупреждение, просто нажмите ОК.

Вы можете отключить это предупреждение, добавив дополнительный ключ в реестр:

Открыть Regedit

HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 15.0 \ Excel \ Security

Создать новый DWORD с именем ExtensionHardening и значением 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...