Как извлечь строки из текстового файла и скопировать их в таблицу Excel с помощью Powershell - PullRequest
0 голосов
/ 29 мая 2018

У меня есть множество текстовых файлов, содержащих данные, подобные этим:

refresh: '<%= GlobalizationUtil.GetText(GlobalizationKey.Refresh) %>',
close: '<%= GlobalizationUtil.GetText(GlobalizationKey.Close) %>',
all: '<%= GlobalizationUtil.GetText(GlobalizationKey.All) %>',
entries: '<%= GlobalizationUtil.GetText("DepMethodEdit_Entries") %>',
archive: '<%= GlobalizationUtil.GetText("worklist_Archive") %>',
onequarter: '<%= GlobalizationUtil.GetText("worklist_onequarter") %>',
halfyear: '<%= GlobalizationUtil.GetText("worklist_halfyear") %>',
oneyear: '<%= GlobalizationUtil.GetText("worklist_oneyear") %>',
twoyears: '<%= GlobalizationUtil.GetText("worklist_twoyears") %>',
customize: '<%= GlobalizationUtil.GetText("CBW_EditDashlet") %>',
notSentLabel: '<%= GlobalizationUtil.GetText("status-notsend") %>',
sentLabel: '<%= GlobalizationUtil.GetText("status-sent") %>',
errorSendingLabel: '<%= GlobalizationUtil.GetText("status-error") %>',
openLabel: '<%= GlobalizationUtil.GetText(GlobalizationKey.Open) %>',
rejectedLabel: '<%= GlobalizationUtil.GetText("DocumentStatus_Rejected") %>',
normalLabel: '<%= GlobalizationUtil.GetText("Normal") %>',
creditLabel: '<%= GlobalizationUtil.GetText(GlobalizationKey.Credit) %>',
deleteinvoice: '<%= GlobalizationUtil.GetText("ProcessedInvoicingDelete") %>'

Возможно ли извлечь эту строку <% = GlobalizationUtil.GetText ("ProcessedInvoicingDelete")%> и скопировать ее в таблицу Excelиспользуя Powershell?

1 Ответ

0 голосов
/ 29 мая 2018

Да.Высокий уровень:

  • Получить содержимое текстового файла
  • использовать Select-String или [regex]::Matches для каждого элемента (строки)
  • Экспорт в CSV (если выне нужны заголовки, используйте Set-Content, в противном случае используйте Export-CSV)
  • Создайте объект Excel ComObject
  • Откройте книгу и рабочий лист
  • используйте SaveAs метод
  • выход из Excel ComObject
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...