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 |
部品の戻り値 |
この部品の戻り値が格納されます。 |
− |
出力 |
△ |