Hitachi

JP1 Version 12 JP1/Automatic Operation サービステンプレートリファレンス


4.13.2 CSV・Excelのセルデータ取得

機能

この部品は,CSV(Comma Separated Values)ファイルまたは,Microsoft社のExcelで作成したExcelシートから指定したセルのデータを取得し出力プロパティに設定します。Windows環境の場合はCSVファイルまたはExcelファイルから,UNIX環境の場合はCSVファイルから,データを取得します。

出力プロパティに設定する際,セルのデータをタスクログに出力します。ただし,ログ出力レベルの設定がデフォルト(10),かつタスクが正常終了する場合は出力されません。

次を満たすファイルのデータの取得をサポートします。

・Windows環境の場合,Microsoft Excelで編集可能なファイルであること。

・CSVファイルの場合,拡張子が"csv"のテキストファイルであること。

・UNIX環境の場合,ユーザーの環境変数[LANG]で指定している文字コードで記述され,改行コードがLFであること。

・Excelファイルの場合,拡張子が"xls"のファイル(「Excel 97〜2003ブック」として保存されたExcelフォーマット),または"xlsx","xlsm"(Excel 2007以降のExcelブック,Excelマクロ有効ブック)のファイルであること。

この部品が前提とするサーバを次に示します。

・実行対象サーバ

 この部品を実行する対象となるサーバです。Windows環境の場合,前提条件に記載のMicrosoft Excelがインストールされている必要があります。

この部品内のスクリプトでは次に示す処理を行います。

・ファイル名(common.fileNameプロパティ)に指定された入力ファイルから,セルのリスト(excel.cellListプロパティ)に指定されたセルのデータを出力プロパティ(excel.OutputValue1〜50プロパティ)に出力します。

32bit版のMicrosoft Excelを使用する時は,次に示すフォルダが存在しない場合にフォルダを作成します。

 %SystemRoot%¥SysWOW64¥config¥systemprofile¥Desktop

64bit版のMicrosoft Excelを使用する時は,次に示すフォルダを事前に作成しておく必要があります。

 %SystemRoot%¥System32¥config¥systemprofile¥Desktop

上記の%SystemRoot%は環境変数「SystemRoot」と同一のフォルダを指します。

UNIX環境の場合,取得したセルのデータには次のチェックを行います。条件に当てはまると,部品は異常終了します。

 (a)セルのデータの文字列長が1024バイトより大きい

利用場面

管理情報を記載したCSV/Excelファイルからデータを取得し,サービスの入力値として利用できます。

前提条件

【システム内前提製品】/【実行対象サーバ内前提製品】/【実行対象サーバの稼働OS】の最新のサポート状況については,リリースノートを参照してください。

【システム内前提製品】

 JP1/Automatic Operation 11-10以降

【実行対象サーバ内前提製品】

Windows環境の場合

 (1) Microsoft Excel 2007

 (2) Microsoft Excel 2010

 (3) Microsoft Excel 2013

 (4) Microsoft Excel 2016

 (5) Microsoft Excel 2019

【実行対象サーバの稼働OS】

 (1) Windows Server 2008 R2 Standard/Enterprise/Datacenter

 (2) Windows Server 2012 Standard/Datacenter,Windows Server 2012 R2 Standard/Datacenter

 (3) Windows Server 2016 Standard/Datacenter

 (4) Windows Server 2019 Standard/Datacenter

 (5) Red Hat Enterprise Linux Server 6 (32-bit x86),Red Hat Enterprise Linux Server 6 (64-bit x86_64)

 (6) Red Hat Enterprise Linux Server 7 (64-bit x86_64)

 (7) Red Hat Enterprise Linux Server 8 (64-bit x86_64)

 (8) CentOS 6 (64-bit x86_64)

 (9) CentOS 7 (64-bit x86_64)

 (10) CentOS 8 (64-bit x86_64)

 (11) Oracle Linux 8 (64-bit x86_64)

【実行対象サーバの使用条件】

 なし。

注意事項

・Windows環境の場合の注意事項

(1)この部品のプロパティには「"」(ダブルクォーテーション)および「'」(シングルクォーテーション)を含む文字列は指定しないでください。

(2)この部品では読み取りパスワード,書き込みパスワードを設定したExcelファイルを使用できません。

(3)この部品では基本的にExcelのセルに表示された形式で文字列を取得できますが,次の内容に注意してください。

・OSやExcelのバージョンによっては,セルに表示される形式と異なる形式でデータが取得されることがあります。

 (例)Windows Server 2008 R2やWindows Server 2012 R2環境のExcel 2007の場合,形式が"yyyy/mm/dd"であっても,"2017/04/01"ではなく"2017/4/1"として取得されます。

・この部品で取得するセルのデータ長はWindows PowerShellで取得可能な最大文字数までです。

 (例)Windows Server 2008 R2やWindows Server 2012 R2環境のExcel 2007の場合,最大文字数は8221文字です。

(4)この部品が異常終了してタスクログに「80080005 サーバーの実行に失敗しました」と出力された場合,実行対象サーバ上でExcelファイルを開いている可能性があります。Excelファイルの状態を確認してください。このとき,「OfficeC2RClient.exe」というプロセスが起動する場合があります。このプロセスを終了させる場合はタスクマネージャーなどで操作してください。

・UNIX環境の場合の注意事項

(1)この部品のプロパティには「"」(ダブルクォーテーション)および「'」(シングルクォーテーション)を含む文字列は指定しないでください。

(2)CSVファイルのセルのデータには「,」(コンマ)および改行文字は使用できません。使用した場合,列を正しく区切ることができません。

(3)LC_ALLやLC_MESSAGESなどLANGより上位のロケール環境変数が設定されている時,上位のロケール環境変数が優先されてしまうため部品を実行する際に,LC_ALLやLC_MESSAGESなどの上位のロケール環境変数を解除するか,LANG環境変数と同一の値に変更してください。

実行権限

Windows環境の場合,Administrator権限

UNIX環境の場合,CSVファイルの読み込み権限

バージョン

02.51.00

部品のタグ

File Operations,Gather OS information,Windows,Linux

タスクログに表示される部品の名称

osReadCSVExcelFileCell

戻り値

戻り値

説明

0

正常

11

異常(ユーザーミス) 定義ファイル内容の不正

12

異常(ユーザーミス) プロパティ不正

27

異常(エラー内容はタスクログで確認)

41

異常(部品内でエラーを検知) プロパティ未入力(部品スクリプトでエラーを検知)

プロパティ一覧

プロパティ一覧を次の表に示します。

プロパティキー

プロパティ名

説明

デフォルト値

入出力種別

必須区分

plugin.destinationHost

実行対象サーバのホスト名

この部品を実行するサーバのホスト名またはIPアドレスを指定します。IPv6アドレスには対応していません。

− 

入力

○ 

common.fileName

ファイル名

データ取得対象のCSVまたはExcelファイルをフルパスで指定します。

− 

入力

○ 

common.sheetName

EXCELファイルのシート名

EXCELファイルのシート名を指定します。CSVファイルの場合は,指定不要です。

Sheet1

入力

△ 

excel.cellList

セルのリスト

Windows環境の場合,データを取得するセルの位置を,A1形式のセル参照文字列またはセルの名前で指定します。複数指定する場合は,コンマ区切りで50件まで指定できます。UNIX環境の場合,データを取得するセルの位置を「行番号;列番号」の形式で指定します。複数指定する場合は,コンマ区切りで50件まで指定できます。

− 

入力

○ 

excel.OutputValue1

データ1

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue2

データ2

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue3

データ3

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue4

データ4

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue5

データ5

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue6

データ6

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue7

データ7

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue8

データ8

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue9

データ9

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue10

データ10

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue11

データ11

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue12

データ12

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue13

データ13

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue14

データ14

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue15

データ15

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue16

データ16

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue17

データ17

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue18

データ18

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue19

データ19

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue20

データ20

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue21

データ21

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue22

データ22

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue23

データ23

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue24

データ24

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue25

データ25

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue26

データ26

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue27

データ27

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue28

データ28

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue29

データ29

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue30

データ30

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue31

データ31

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue32

データ32

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue33

データ33

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue34

データ34

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue35

データ35

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue36

データ36

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue37

データ37

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue38

データ38

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue39

データ39

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue40

データ40

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue41

データ41

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue42

データ42

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue43

データ43

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue44

データ44

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue45

データ45

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue46

データ46

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue47

データ47

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue48

データ48

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue49

データ49

取得したデータが格納されます。

− 

出力

△ 

excel.OutputValue50

データ50

取得したデータが格納されます。

− 

出力

△ 

common.returnValue

部品の戻り値

この部品の戻り値が格納されます。

− 

出力

△