Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMIME タイプ: application/xlsx
ID: excel
Excel ワークブックは一連のシートです。DataWeave では、これはオブジェクトにマップされ、各シートがキーになります。Excel シートごとに 1 つのテーブルのみが許可されます。 テーブルは行の配列として表現されます。行はオブジェクトであり、そのキーが列、値がセルの内容になります。
|
Excel 入力の DataWeave リーダーでは、次の解析戦略がサポートされています。
メモリ内
ストリーミング
DataWeave リーダーおよびライターでこの形式に適用できる解析戦略を理解するには、「DataWeave 解析戦略」を参照してください。
次の表に、Excel と DataWeave の型のマッピングを示します。
Excel 型 | DataWeave 型 |
---|---|
|
|
|
|
|
|
|
|
次の例は、Excel 形式の使用方法を示しています。
次の例は、DataWeave で Excel ワークブックを表す方法を示しています。
Excel ワークブック (Sheet1
) は、DataWeave ソースの入力ペイロードとして機能します。
. | A | B 1 | Id | Name 2 | 123 | George 3 | 456 | Lucas
次の DataWeave スクリプトは、ヘッダーと項目が含まれる Excel テーブルを出力します。
この DataWeave スクリプトの本文は、Excel シートのコンテンツを定義する DataWeave オブジェクトです。シートの名前 Sheet1
は、このオブジェクトのキーになります。値は、オブジェクトの配列になります。配列の各オブジェクトには、キー-値ペアのコレクションが含まれます。各ペアのキーは、スプレッドシートのヘッダー値として処理されます。各ペアの値は、シートの行のデータ値として処理されます。
この出力ディレクティブは、出力が Excel 形式と MIME タイプであることを示しています。header=true
設定は、出力にヘッダー値が含まれていることを示します。
%dw 2.0
output application/xlsx header=true
---
{
Sheet1: [
{
Id: 123,
Name: George
},
{
Id: 456,
Name: Lucas
}
]
}
他の例については、「Excel (XLSX) ファイルのデータの参照」を参照してください。
デフォルトでは、Excel リーダーは、ファイルが 1.5MB 以下の場合、ファイル全体から入力データをメモリ内に保存します。ファイルが 1.5 MB よりも大きい場合、データはディスクに書き込まれます。非常に大きなファイルの場合は、streaming
プロパティを true
に設定することで、リーダーのパフォーマンスを向上できます。
Mule アプリケーションの次の設定 XML では、Excel ファイルをストリーミングして JSON に変換します。
<http:listener-config
name="HTTP_Listener_config"
doc:name="HTTP Listener config" >
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<flow name="streaming_flow" >
<http:listener
doc:name="Listener"
config-ref="HTTP_Listener_config"
path="/"
outputMimeType="application/xlsx; streaming=true"/>
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload."Sheet Name" map ((row) -> {
foo: row.a,
bar: row.b
})]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>
この例の説明:
outputMimeType="application/xlsx; streaming=true"
を設定して、XLSX 入力をストリーミングするように HTTP リスナーを設定します。
Studio UI では、リスナーの [MIME Type (MIME タイプ)] を application/xlsx
に設定し、MIME タイプの [Parameters (パラメーター)] を [Key (キー)] streaming
と [Value (値)] true
に設定できます。
Transform Message コンポーネントの DataWeave スクリプトを使用して、XLSX ペイロード ("Sheet Name"
という名前の XLSX シート) の各行を反復処理し、(row.a
、row.b
を使用して) 行の各セルの値を選択します。a
および b
という名前の列を想定し、それらの列の各行の値を foo
および bar
にそれぞれマップします。
DataWeave では、Excel の次の設定プロパティがサポートされています。
Excel 形式では、入力データの読み込みの指示を提供するプロパティを使用できます。
パラメーター | 型 | デフォルト | 説明 |
---|---|---|---|
|
|
|
Excel テーブルにヘッダーを含めるかどうかを示します。有効な値は、 |
|
|
|
空の行を無視するかどうかを示します。有効な値は、 |
|
|
|
Mule 4.2.2 で導入済み: ストリーミングの目的は、大きなファイルを処理することです。ストリーミングを有効にすると、リーダーは一度にすべてのデータを使用可能にするのではなく、各行に順次アクセスして一度に 1 行ずつメモリ内に保存します。ストリーミングでは、ファイルの行にランダムアクセスできません。エントリを順次アクセスする場合のみ使用します。有効な値は、 |
|
|
|
テーブルの最初のセルの位置 ( |
|
|
|
|
Excel 形式では、出力データの書き込みの指示を提供するプロパティを使用できます。
パラメーター | 型 | デフォルト | 説明 |
---|---|---|---|
|
|
|
ライターバッファのサイズ。 |
|
|
|
|
|
|
|
Excel テーブルにヘッダーを含めるかどうかを示します。有効な値は、 |
|
|
|
空の行を無視するかどうかを示します。有効な値は、 |
|
|
|
テーブルの最初のセルの位置 ( |
|
|
|
|