Konwersja Excela do pliku CSV w powershellu

23 stycznia 2015 at 10:19

Powershell + plik CSV = „sky is the limit” ale…

Użytkownik końcowy woli jednak pracować w oparciu o Excela i niekoniecznie chce mu się konwertować go do pliku CSV. Administrator z kolei nie chce na to tracić czasu, bo ma ważniejsze zadania do realizacji :)

Dla mnie najwygodniej uruchamia się skrypty będąc w lokalizacji, gdzie jest skrypt i podając do niego ścieżkę z parametrami w postaci .\skrypt.ps1 .\plik_wejściowy

Aby zautomatyzować przekształcanie plików Excela do plików csv, które następnie będą obrabiane i przetwarzane w skrypcie można wykorzystać następującą funkcję:

 

Działa sprawnie w przypadku odpalania skryptów powershell’owych oraz Excela z tej samej lokalizacji w strefie DFS (\\twoja.domena\fileshare\skrypty\…)

Jako parametr wejściowy podawana jest ścieżka do pliku na zasobie, gdzie umieszczony jest skrypt oraz wejściowy Excel. Wyjściem jest ścieżka do zapisanego pod ta samą nazwą pliku csv, który następnie można zaimportować:

1. Przypisanie do zmiennej $plik ścieżki do utworzonego pliku csv na podstawie parametru wejściowego skryptu (pliku Excela) – $file

2. Pobranie zawartości pliku csv do zmiennej $Dane