#excel #powershell
Вопрос:
У меня есть файл .xlsx, в котором мне нужно исправить несколько столбцов, чтобы использовать правильное форматирование. Я безуспешно пытался использовать =Правильный(), =Нижний() и даже =Верхний() с помощью Powershell.
Кто-нибудь случайно не знает, как это сделать? Спасибо
$worksheet = C:UsersUSERNAMEDownloadsBook1.xlsx
Import-Module PSExcel
$worksheet.Columns("Name, 'Primary Worksite', 'Primary Job Title'").ToProper()
Ответ №1:
Вот пример использования COM — ключ вызывает соответствующую функцию с помощью класса WorksheetFunctions, который предоставляет программный доступ ко всем функциям, встроенным в Excel.
Другие библиотеки и модули могут предоставить вам обертки для этого…
# setup - create a new workbook with "aaa bbb ccc" in cell A1
$excel = new-object -ComObject Excel.Application;
$excel.Visible = $true;
$workbook = $excel.Workbooks.Add();
$workbook.Sheets(1).Range("A1").Value = "aaa bbb ccc";
# get the text from a range
$range = $workbook.Sheets(1).Range("A1");
$originalText = $range.Text;
# convert it to "Proper Case"
# (see https://docs.microsoft.com/en-us/office/vba/api/excel.worksheetfunction.proper)
$properText = $excel.WorksheetFunction.Proper($originalText);
# set the new text back into the cell
$range.Value = $properText; # Aaa Bbb Ccc
# clean up
$workbook.Close($false);
$excel.Quit();