【ImportExcel】Import-Excelコマンドレットの使い方【PowerShell】

ImportExcelモジュールのImport-Excelコマンドレットの使い方

ImportExcel

PowerShellでExcelを扱おうとすると、いくつか選択肢があるんですがImportExcelが非常に便利だったので使い方のメモ。

ImportExcelこれはExcelPackagePlusのdllを使ってモジュール化したものです。ExcelPackagePlusが高機能なのでImportExcelも結構高機能です。中でもイチオシはMicrosoft製ClosedXMLでは扱えないパスワード付Excelが扱えることです。

使い方の情報を探したんですが、作者が使い方をプレゼンしている動画とGitHubでバージョンアップしたときに追加機能のサンプルを付けてるくらいのよう。

dfinke/ImportExcel -GitHub

ImportExcelの入手

PowerShell GalleryのImportExcelのページで入手できます。

Istall-Moduleコマンドレット、Azureへのデプロイ(配置)、nupkgのマニュアルダウンロードの3つの方法が書いてあります。
Powershell遣いであればInstall-Moduleコマンドレットで構わないと思います。
ただし、Install-ModuleコマンドレットはPowerShell5.0以降なので、最新版に上げるかマニュアルダウンロードです。
Windows PowerShell のインストール

マニュアルダウンロードの場合は、拡張子をzipに変えれば展開できるので、ModulePathに置けば大丈夫です。

Import-Excelコマンドレット

動作はImport-CSVに似ています。ベタなデータのみがあるxlsxファイルの場合、パスを引数にして実行するとデータが格納されます。

Import-Excel C:¥Users¥Owner¥Documents¥Data.xlsx

データがある範囲を読み込んでImport-CSVと同様にPSCustomObjectに格納してくれます。
複数行ある場合は、一行がPSCustomObjectになり、シート全体はPSCustomObjectの配列になります。
これの良いところは空いてる列や行は飛ばして読み込んでくれるところです。隣り合ったセルを結合されていても気にせず取り込むことができます。

また、何も指定しない場合1行目をヘッダーとして扱い、PSCustomObjectのPropertyの名前になります。
-NoHeaderをつければ勝手にp1,p2,p3でヘッダーをつけてくれますし、-HeaderNameを使って個別につけることもできます。

読み込むセル範囲の指定もできるので非常に便利です。
正直、これぐらいMicroSoftさん自分で作ってくれよ、というくらい高機能(^_^;

詳しくは下のHelpを参考にしてください。

Import-Excelコマンドレットヘルプの日本語化

機械翻訳の部分もあるので読みにくいところはご容赦ください

【ImportExcel】Import-Excelコマンドレットの使い方【PowerShell】” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください