CSVのインポートとエクスポートは、ワークスペースの[アクション]メニューを使用してユーザーインターフェイスからテーブルで実行できます。
インポートとエクスポートはどちらも、データセットのコンテキストで実行されます。
インポートとエクスポートはプログラムで行うこともできます。
デフォルトのインポートおよびエクスポートオプション値は、管理領域のユーザーインターフェイス>グラフィカルインターフェイス構成>デフォルトオプション値>インポート/エクスポートで設定できます。
CSVにエクスポートするときに、テーブルにフィルターが適用されている場合、フィルターに対応するレコードのみがエクスポートされたファイルに含まれます。
CSVエクスポートオプションは次のとおりです。
ダウンロードファイル名 | エクスポートするCSVファイルの名前を指定します。このフィールドには、レコードのエクスポート元のテーブルの名前が事前に入力されています。 |
ファイルエンコード | エクスポートされたファイルに使用する文字エンコードを指定します。デフォルトはUTF-8です。 |
継承の有効化 | CSVエクスポート中に継承を考慮するには、モデルでオプションを定義する必要があります。 継承の詳細については、継承と値の解決を参照してください。 CSVエクスポート中に継承を考慮するかどうかを指定します。 継承が有効になっている場合、フィールドの解決された値は、レコードまたはフィールドの可能な継承モードを定義する技術データとともにエクスポートされます。 継承が無効になっている場合、フィールドの解決された値がエクスポートされ、非表示にされたレコードは無視されます。 デフォルトでは、このオプションは無効になっています。 注:テーブルデータセットに親がない場合、またはテーブルに継承フィールドがない場合、継承は常に無視されます。 |
ユーザーフレンドリーモード | エクスポートされた値をユーザーフレンドリーな方法で表示するか、生の形式で表示するかを指定します。たとえば、ユーザーフレンドリーモードでは、日付と数値はユーザーのロケールに従ってフォーマットされ、外部キーと列挙値は関連するラベルを表示します。 注:このオプションを選択すると、エクスポートされたファイルを再インポートできなくなります。 |
技術データの包含 | 内部技術データをエクスポートに含めるかどうかを指定します。 注:このオプションを選択すると、エクスポートされたファイルを再インポートできなくなります。 |
列ヘッダー | CSVファイルに列ヘッダーを含めるかどうかを指定します。
|
フィールド区切り文字 | エクスポートに使用するフィールド区切り文字を指定します。デフォルトの区切り文字はカンマです。管理>ユーザーインターフェイスで変更できます。 |
リスト区切り文字 | 値リストに使用する区切り文字を指定します。デフォルトの区切り文字は改行です。管理>ユーザーインターフェイスで変更できます。 |
プログラムによるCSVエクスポートは、Java APIの
および ExportSpec
クラスを使って行います。ExportImportCSVSpec
ダウンロードファイル名 | インポートするCSVファイルの名前を指定します。 |
インポートモード | CSVファイルをインポートするときは、次のインポートモードのいずれかを指定する必要があります。これにより、ソーステーブルとターゲットテーブルの間の操作の整合性が制御されます。
|
ファイルエンコード | エクスポートされたファイルに使用する文字エンコードを指定します。デフォルトはUTF-8です。 |
継承の有効化 | CSVインポート中に継承を考慮するには、モデルでオプションを定義する必要があります。 継承の詳細については、継承と値の解決および CSVインポート中に継承を考慮するかどうかを指定します。 CSVファイルの技術データで継承モードが定義されている場合、対応するフィールドまたはレコードは強制的に継承されます。技術データが非表示モードを定義している場合、対応するレコードは強制的に非表示にされます。それ以外の場合、フィールドはCSVファイルから読み取られた値で上書きされます。デフォルトでは、このオプションは無効になっています。 注:テーブルのデータセットに親がない場合、またはテーブルに継承されたフィールドがない場合、継承は常に無視されます。 |
列ヘッダー | CSVファイルに列ヘッダーを含めるかどうかを指定します。
|
フィールド区切り文字 | エクスポートに使用するフィールド区切り文字を指定します。デフォルトの区切り文字はカンマです。管理>ユーザーインターフェイスで変更できます。 |
リスト区切り文字 | 値リストに使用する区切り文字を指定します。デフォルトの区切り文字は改行です。管理>ユーザーインターフェイスで変更できます。 |
プログラムによるCSVインポートは、Java APIの
および ImportSpec
クラスを使って行います。ExportImportCSVSpec
CSVインポートおよびエクスポートサービスは、複数値フィールド、つまり集約リストをサポートします。これは、string
、date
、またはint
のリストなどの単純な型付きリスト、および外部キーでのみサポートされます。テーブル参照が複合主キーにリンクされている場合、リスト内の各項目は、「true|99」のようにフォーマットされた文字列です。グループの集約リストはエクスポートされません。
エクスポート時には、リスト内の項目は行区切り記号を使用して区切られます。 osd:html
やosd:text
など、エクスポートされたフィールドにすでに行区切り文字が含まれている場合、コード_crnl _
は次のようになります。フィールド値の行区切り文字の代わりに挿入されます。インポート時に同じフォーマットが期待され、フィールド値全体が引用符で囲まれます。
非表示フィールドは、ebx-csv:hidden
文字列としてエクスポートされます。インポートされた非表示の文字列は、フィールドのコンテンツを変更しません。
CSVインポートおよびエクスポートサービスでは、値が null
に設定されている文字列は空の文字列としてエクスポートされます。そのため、export-inportの往復で、null
の文字列値が空の文字列に置き換えられてしまいます。
プログラムサービスを使用して、特定の値 ebx-csv:nil
に対して値が null
に設定された文字列を割り当てることができます。 このようにすると、往復のexport-import手続きの間に null
文字列の値が空の文字列に置き換えられることはありません。 詳細は、Java APIの ExportImportCSVSpec.setNullStringEncoded
を参照してください。
次の日付と時刻の形式がサポートされています。
タイプ | フォーマット | 例 |
---|---|---|
xs:date | yyyy-MM-dd | 2007-12-31 |
xs:time | HH:mm:ss または HH:mm:ss.SSS | 11:55:00 |
xs:dateTime | yyyy-MM-ddTHH:mm:ssまたはyyyy-MM-ddTHH:mm:ss.SSS | 2007-12-31T11:55:00 |
CSVインポートおよびエクスポートサービスは、複数値グループ、つまり複合型エレメントの集約リストをサポートしていません。このようなノードをエクスポートしてもエラーは発生しませんが、値はエクスポートされません。
CSVファイルでは、空のフィールドのみを含む作成済みの端末グループと、作成されていないフィールドを区別することはできません。
結果として、エクスポートに続いてインポートを実行した後の比較中に、いくつかの違いが表示される場合があります。インポートとエクスポートの対称性を確保するには、代わりにXMLのインポートとエクスポートを使用してください。 XMLのインポートとエクスポートを参照してください。
2つの列が同じラベルヘッダーを共有している場合、テーブルのエクスポートは正常に実行できますが、エクスポートされたデータを後で再インポートすることはできません。
CSVインポートおよびエクスポートサービスは、関連付け値、つまり関連付けられたレコードをサポートしていません。
このようなフィールドをエクスポートしてもエラーは発生しませんが、値はエクスポートされません。
このようなフィールドをインポートするとエラーが発生し、インポート手順が中止されます。
CSVインポートおよびエクスポートサービスは、選択値、つまり選択されたレコードをサポートしていません。
このようなフィールドをエクスポートしてもエラーは発生しませんが、値はエクスポートされません。
このようなフィールドをインポートするとエラーが発生し、インポート手順が中止されます。