# tFileOutputExcel

定義されたスキーマに従ってデータ値が区切られたMS Excelファイルを書き込みます。

## tFileOutputExcelの標準プロパティ

これらのプロパティは、標準ジョブのフレームワークで実行されているtFileOutputExcelを設定するために使われます。

標準のtFileOutputExcelコンポーネントは、ファイルファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| [Property type] (プロパティタイプ) | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。<br><br><ul> <li> <span>[Built-In] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。</li> <li> <span>[Repository] (リポジトリー)</span>: プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。</li> </ul> |
| [Write Excel 2007 file format (xlsx / xlsm)] (Excel 2007ファイル形式(xlsx/ xlsm)で書き込む) | このチェックボックスをオンにすると、処理されたデータがExcel 2007の.xlsxまたは .xlsm 形式で書き込まれます。 |
| [Use Output Stream] (出力ストリームを使用) | 目的のデータフローを処理する場合は、このチェックボックスをオンにします。これを選択すると、[Output Stream] (出力ストリーム)フィールドが表示され、目的のデータフローを入力できます。<br><br>対応する代表変数により、コンポーネントでデータを取得できるようにするには、処理するデータフローを追加する必要があります。<br><br>この変数は、既にTalend Studioで事前に定義されているか、このコンポーネントと共に使用されているコンテキストやコンポーネントによって提供されている可能性があります。それ以外の場合は、手動で変数を定義し、ジョブのデザインに応じて(たとえばtJavaまたはtJavaFlexを使って)使用できます。<br><br>手入力の手間を省くため、変数が適切に定義されることを確認する必要があるものの、予測変換リスト(Ctrl + スペース)から目的の変数を選択して、現在のフィールドに入力できます。<br><br>ストリームの使用方法の詳細は、[ストリーミングモードでのリモートファイルからのデータの読み取り](https://help.qlik.com/talend/ja-JP/components/8.0/delimited/tfileinputdelimited-tfilefetch-tsleep-tlogrow-reading-data-from-remote-file-in-streaming-mode-standard-component-this)をご覧ください。 |
| [File name] (ファイル名) | 出力ファイルの名前またはパスを入力します。<br><br>[Use Output Stream] (出力ストリームを使用)チェックボックスをオンにすると、このフィールドは使用できなくなります。<br><br>ジョブで変数を定義して使用する方法は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。<br><br>情報メモ警告: エラーを避けるために、このフィールドには(相対パスの代わりに)絶対パスを使用します。 |
| シート名 | XSLシートの名前を入力します。<br><br>情報メモ警告: subJobに同じExcelファイルを書き込む複数のtFileOutputExcelコンポーネントが含まれている(つまり、これらのコンポーネントの[File Name (ファイル名)オプションが同じファイルをポイントしている)場合、これらのコンポーネントは、同じxslシートを上書きし、エクセルファイルを書き込む最後のtFileOutputExcelコンポーネントのデータのみが残ります。データの損失を回避するには、これらのtFileOutputExcelコンポーネントが異なるサブジョブにあることをご確認ください。 |
| [Include header] (ヘッダーを含める) | ヘッダー行を出力ファイルに含めるには、このチェックボックスをオンにします。 |
| [Append existing file] (既存のファイルを追加) | このチェックボックスをオンにすると、ファイルの最後に新しい行が追加されます。<br><br>[Append existing sheet] (既存のシートを追加する): Excelシートの最後に新しい行を追加するには、このチェックボックスをオンにします。 |
| 絶対Y位置です。 | 指定したセルに情報を追加するには、このチェックボックスをオンにします。<br><br>[First cell X] (最初のセルX): X軸上のセルの位置(X座標または横座標)。<br><br>[First cell Y] (最初のセルY): Y軸上のセルの位置(Y座標)。<br><br>[Keep existing cell format] (既存のセル形式を保持): 書き込むセルの元のレイアウトとフォーマットを保持するには、このチェックボックスをオンにします。 |
| [Font] (フォント) | 使用するフォントをリストから選択します。 |
| [Define all columns auto size] (全カラムの自動サイズを定義する) | すべてのカラムのサイズを自動的に定義する場合は、このチェックボックスをオンにします。それ以外の場合は、サイズを自動的に定義するカラム名の横にある[Auto size] (自動サイズ) チェックボックスをオンにします。 |
| [Protect file] (ファイルを保護する) | パスワードを使ってファイルを保護するには、このチェックボックスをオンにして、[Password] (パスワード)フィールドにパスワードを入力します。<br><br>このコンポーネントは、アジャイル暗号化(現在はAES 128アルゴリズムを使用)を使ってファイルを暗号化します。アジャイル暗号化の詳細は、[Apache POI - Encryption support](https://poi.apache.org/encryption.html)と[Encryption](https://learn.microsoft.com/en-us/openspecs/office_file_formats/ms-offcrypto/2d1c4f2c-7a2a-4133-998f-f3373f00d542)をご覧ください。<br><br>このオプションは、[Write excel2007 file format(xlsx)] (excel2007ファイル形式(xlsx)で書き込む)が選択されていて、[Use Output Stream] (出力ストリームを使う)が選択されていない場合に使えます。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明で、処理された後に次のコンポーネントに渡されるフィールドの数を定義するものです。スキーマは[Built-in] (組み込み)か、[Repository] (リポジトリー)にリモートで保存されます。<br><br>このコンポーネントは、ダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)をご覧ください。<br><br>ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。<br><br>スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。<br><br><ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul> |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| ディレクトリーがない場合はテーブルを作成します | このチェックボックスはデフォルトで選択されています。このオプションは、出力ファイルが存在しない場合は、出力ファイルを保持するディレクトリーを作成します。 |
| フラッシュバッファーサイズのカスタマイズ | [Row number] (行番号)フィールドにバッファーで許可される最大行数を設定するには、このチェックボックスをオンにします。<br><br>[Basic settings] (基本設定)ビューで[Write Excel 2007 file format (xlsx) (Excel 2007ファイル形式(xlsx)で書き込む]が選択されている場合に使えます。 |
| [Advanced separator (for numbers)] (詳細区切り文字: 数値) | 数値に使う区切りを変更するには、このチェックボックスをオンにします。<br><br>[Thousands separator] (3桁区切り): 数字3桁の区切り文字を定義します。<br><br>[Decimal separator] (小数点区切り): 小数点の区切り文字を定義します。 |
| [Truncate characters exceeding max cell length] (最大セル長を超えた文字は切り詰め) | 文字列をセルにエクスポートする前に、セルに許可される最大長(32767文字)を超える文字列を切り詰めるには、このオプションを選択します。このオプションは、大量データを単一Excelセルへエクスポートすることによるジョブの失敗を防ぎます。また、このオプションによるデータ損失が発生する可能性があります。<br><br>このオプションは、Excel 2007 (およびそれ以降のバージョン)ファイル用であり、[Basic settings] (基本設定)ビューで [Write Excel 2007 file format (xlsx)] (Excel 2007ファイル形式(xlsx)で書き込む)が選択されている場合に使えます。<br><br>このオプションはデフォルトで選択されていません。 |
| Encoding | 一覧からエンコードの種類を選択するか、[Custom] (カスタム)を選択して手動で定義します。このフィールドはデータベースのデータ処理で必須です。 |
| [Don't generate empty file] (空のファイルを生成しない) | このチェックボックスをオンにすると、空のファイルは生成されません。 |
| [Recalculate formula] (式を再計算) | 指定したExcelファイルの数式を再計算する必要がある場合は、このチェックボックスをオンにします。<br><br>このチェックボックスは、[Write Excel 2007 file format (xlsx)] (Excel 2007ファイル形式(xlsx)で書き込む)、[Append existing file] (既存のファイルを追加)、および [Append existing sheet] (既存のシートを追加)の 3つのチェックボックスをすべてオンにした場合にのみ表示されます。 |
| [Streaming append] (ストリーミングによる追加) | ストリーミングモードで既存のExcel 2007ファイルにデータを書き込む場合は、このオプションを選択します。制限されたメモリで大量のデータを書き込む場合は、このオプションを選択します。<br><br>このオプションはデータの既存の形式設定を保持しますが、このオプションを使用すると、より高度な形式設定や検証ルールがクリアされる可能性があります。<br><br>このオプションは、[Basic settings] (基本設定)ビューで[Write Excel 2007 file format (xlsx)] (Excel 2007ファイル形式(xlsx)で書き込む)オプションと[Append existing file] (既存のファイルを追加)オプションが選択されている場合に使えます。 |
| [Use shared strings table] (共有文字列テーブルを使用) | このオプションを選択すると、XLSXファイルの作成時に共有文字列テーブルを使用できます。<br><br>このオプションは、パフォーマンスとファイルサイズのトレードオフを実現します。重複文字列が数多く含まれているXLSXファイルを作成する時に、問題なく動作します。このオプションは、[Basic settings] (基本設定)ビューで[Write Excel 2007 file format (xlsx)] (Excel 2007ファイル形式(xlsx)で書き込む)オプションが選択され、[Append existing file] (既存のファイルを追加)オプションが選択されていない場合に使用できます。<br><br>スキーマに動的カラムが含まれており、コンポーネントがメモリ消費モードで動作する場合、1904という日付形式は無視されます。<br><br>情報メモ注: このオプションは、Talendが提供する8.0.1 R2023-03以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスを選択すると、ジョブレベルやコンポーネントレベルでジョブ処理メタデータが収集されます。 |

## グローバル変数

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | NB\_LINE: 入力コンポーネントによって読み取られた行の数、または出力コンポーネントに転送された行の数。これはAfter変数で、整数を返します。<br><br>ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はのコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。<br><br>変数の詳細は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、[Row] (行)リンクを使って他のコンポーネントから渡されたデータを含むMS Excelファイルを作成するために使います。 |
| [Dynamic settings] (ダイナミック設定) | [+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からHDFS接続をダイナミックに選択します。この機能は、異なるHDFSシステムまたは異なるディストリビューション内のファイルにアクセスする必要がある場合、特に、 *Talend Studio* を介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。<br><br>[Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている時のみ利用可能です。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。<br><br>ダイナミックパラメーターの定義法を示すユースケースについては、[コンテキストベースのダイナミック接続によってデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections)と、[ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters)をご覧ください。ダイナミック設定とコンテキスト変数の詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)と[コンテキストグループを作成し、その中でコンテキスト変数を定義](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it)をご覧ください。 |
| 制限事項 | ライセンスの互換性の問題のため、このコンポーネントの使用に必要な1つ以上のJARが提供されていません。この特定のコンポーネントに不足しているJARをインストールするには、Component (コンポーネント)タブビューの[Install] (インストール)ボタンをクリックします。Talend StudioのIntegrationパースペクティブにある[Modules] (モジュール)タブでも、不足しているすべてのJARを簡単に見つけて追加できます。詳細は、[外部モジュールをインストール](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/installing-external-modules)をご覧ください。 |

**関連概念**

[ダイナミックスキーマを使ってExcelファイルからデータを抽出](https://help.qlik.com/talend/ja-JP/components/8.0/excel/extracting-data-from-excel-file-using-dynamic-schema-c "このシナリオでは、Excel 2007ファイルからデータを抽出します。これによってダイナミックスキーマの使い方がわかります。")