2011-06-16 3 views
-1

Мне нужно найти способ, чтобы я мог считывать значения из файла excel и затем соответственно заменять все соответствующие значения в другом файле. В принципе, я нашел некоторое несоответствие в одной из автоматизированных задач, которые мы запускаем, и мне нужно преобразовать некоторые значения в файл, прежде чем отправлять его в автоматическую задачу. У меня есть файл excel, в котором указаны «неправильные» значения и их соответствующие «правильные» значения, и мне нужно, чтобы оболочка Power могла мне помочь в этом.Прочитайте значения из excel и замените их в другом файле с помощью Powershell

$docID = $args[0] $docid #Read Z ticker file 
$Zfile = 'I:\IS\Rishabh\Z tickers Active.xls' # Find the .rps file imported automatically from schwab trust 
$RPSFile= 'L:\Trading\Schwab Trust\Import\CS<%dmmdd-01yy>.RPS' 
While (Get-Content $ZFile) 
{ 
    $_-cmatch 'A$','B$'| Set-Variable X-ticker # End Loop 
} 
(Get-Content $RPSfile) | ForEach-Object { $_-replace '%, ' ,'X-ticker' #End Loop } 
Set-Content $RPSFile 
+0

На каком языке работает автоматическая задача? Возможно, быстрее читать в файле excel с помощью этой программы, а не включать посредника. – jonsca

+0

Ришаб, похоже, вам нужно очень много кода здесь. Не может быть проще сделать с VBA? – codepoke

+0

Ну, автоматическая задача запускается через одно наше клиентское приложение Relius (поэтому я не знаю языка). Что происходит в основном, каждое утро мы импортируем файл (формат .rps) из одного из наших торговых партнеров, который работает в Relius и дает нам результаты. Но в последнее время этот импортированный файл содержит некоторые данные, которые невозможно прочитать через Relius, и конечный результат является странным. Импортированный файл не в формате excel, а в формате .rps. Мне нужен способ прочитать файл excel (который мой сотрудник отправил мне) и заменить «неправильные» значения соответствующим образом в файле .rps до того, как он запустится в Relius. – Rishabh

ответ

2

Вам не нужно использовать Powershell. Сам Excel создал механизмы для выполнения того, что вы хотите. Например, вы можете использовать функцию LOOKUP в Excel.

+0

Ну, автоматическая задача запускается через одно наше клиентское приложение Relius (так что я не знаю языка). Что происходит в основном, каждое утро мы импортируем файл (формат .rps) из одного из наших торговых партнеров, который работает в Relius и дает нам результаты. Но в последнее время этот импортированный файл содержит некоторые данные, которые невозможно прочитать через Relius, и конечный результат является странным. Импортированный файл не в формате excel, а в формате .rps. Мне нужен способ прочитать файл excel (который отправил мой сотрудник) и заменить «неправильные» значения соответственно в файле .rps, прежде чем он запустится в Relius. – Rishabh

+0

Хорошо, вот мой код до сих пор .. $ DocId = $ арг [0] $ DocId Z # Чтение тикер файла $ Zfile = 'I: \ IS \ Rishabh \ Z бегущая строка Active.xls' # Найти. rps-файл, импортированный автоматически из доверия schwab $ RPSFile = 'L: \ Trading \ Schwab Trust \ Import \ CS <%dmmdd-01yy> .RPS' Пока (Get-Content $ ZFile) { $ _- cmatch 'A $', 'B $ '| Set-Variable X-ticker # Конец цикла } (Get-Content $ RPSfile) | ForEach-Object { $ _- replace '%,', 'X-ticker' #End Loop } Set-Content $ RPSFile – Rishabh

+0

обновите свой вопрос, используя образец кода, а не комментарии.Комментарии не форматируют код хорошо, и никто не собирается читать его так. –

Смежные вопросы