次の方法で共有


Excel 変換先

Excel 変換先は、 Microsoft Excel ブックのワークシートまたは範囲にデータを読み込みます。

アクセス モード

Excel 変換先には、データを読み込むために、次の 3 つの異なるデータ アクセス モードが用意されています。

  • テーブルまたはビュー。

  • 変数で指定されたテーブルまたはビュー。

  • SQL ステートメントの結果。 クエリにはパラメーター化クエリを使用できます。

重要

Excel では、ワークシートまたは範囲はテーブルまたはビューに相当します。 Excel 変換元エディターと変換先エディターで使用可能なテーブルの一覧には、既存のワークシート (シート 1$ などのワークシート名に追加された $ 記号で識別されます) と名前付き範囲 (MyRange など、$ 記号が存在しないことで識別されます) のみが表示されます。

使用に関する注意点

Excel 接続マネージャーは、Microsoft OLE DB Provider for Jet 4.0 とそのサポートする Excel ISAM (Indexed Sequential Access Method) ドライバーを使用して、Excel データ ソースへのデータの接続と読み取りと書き込みを行います。

多くの既存の Microsoft サポート技術情報の記事には、このプロバイダーとドライバーの動作が記載されています。これらの記事は Integration Services またはその前身のデータ変換サービスに固有ではありませんが、予期しない結果につながる可能性がある特定の動作について知りたい場合があります。 Excel ドライバーの使用方法と動作に関する一般的な情報については、「 HOWTO: Visual Basic または VBA の Excel データで ADO を使用する」を参照してください。

Excel ドライバーに含まれる Jet プロバイダーの次の動作により、Excel 変換先にデータを保存するときに予期しない結果が発生する可能性があります。

  • テキスト データの保存。 Excel ドライバーがテキスト データ値を Excel 変換先に保存すると、ドライバーは各セルのテキストの前に単一引用符 (') を付けて、保存された値がテキスト値として解釈されるようにします。 保存されたデータを読み取ったり処理したりする他のアプリケーションがある場合、各テキスト値の前に単一引用符文字の特別な処理を含める必要がある場合があります。

    単一引用符を含めないようにする方法については、このブログ記事を参照してください。 SSIS パッケージで Excel 変換先データ フロー コンポーネントを使用する場合、データが Excel に変換されるときに、msdn.com 上のすべての文字列に単一引用符が追加されます。

  • メモ (ntext) データの保存。 255 文字を超える文字列を Excel 列に正常に保存するには、変換先の列のデータ型を 文字列型 ではなく メモ型としてドライバーが認識する必要があります。 変換先テーブルにデータ行が既に含まれている場合、ドライバーによってサンプリングされる最初のいくつかの行には、メモ列に 255 文字を超える値のインスタンスが少なくとも 1 つ含まれている必要があります。 パッケージの設計時または実行時に変換先テーブルを作成する場合、CREATE TABLE ステートメントでは、メモ列のデータ型として LONGTEXT (またはそのシノニムの 1 つ) を使用する必要があります。

  • データ型。 Excel ドライバーでは、データ型の限定されたセットのみを認識します。 たとえば、すべての数値列は倍精度浮動小数点型 (DT_R8) として解釈され、すべての文字列の列 (メモ列以外) は 255 文字の Unicode 文字列 (DT_WSTR) として解釈されます。 Integration Services は、Excel のデータ型を次のようにマップします。

    • 数値倍精度浮動小数点数 (DT_R8)

    • 通貨(DT_CY)

    • ブール値 Boolean (DT_BOOL)

    • 日付/時刻 datetime (DT_DATE)

    • 文字列 Unicode 文字列、長さ 255 (DT_WSTR)

    • メモ Unicode テキスト ストリーム (DT_NTEXT)

  • データ型と長さの変換。 Integration Services では、データ型は暗黙的に変換されません。 その結果、Excel 以外の変換先に読み込む前に Excel データを明示的に変換したり、Excel 以外のデータを Excel 変換先に読み込む前に Excel 以外のデータを変換したりするには、派生列変換またはデータ変換変換を使用する必要がある場合があります。 この場合、必要な変換を構成するインポートおよびエクスポート ウィザードを使用して、初期パッケージを作成すると便利な場合があります。 必要になる可能性がある変換の例を次に示します。

    • 特定のコードページを含む Unicode Excel 文字列列と Unicode 以外の文字列列の間の変換。

    • 255 文字の Excel 文字列の列と異なる長さの文字列の列間の変換

    • 倍精度の Excel 数値列と他の型の数値列の列間の変換

Excel 出力先の構成

Excel 変換先は、Excel 接続マネージャーを使用してデータ ソースに接続します。Excel 接続マネージャーでは、使用する Excel ブック ファイルを指定します。 詳しくは、「 Excel Connection Manager」をご覧ください。

Excel 変換先は、1 つの標準入力と 1 つのエラー出力をとります。

プロパティを設定するには SSIS デザイナーから行うか、またはプログラムによって設定します。

[Excel 変換先エディター] ダイアログ ボックスで設定できるプロパティの詳細については、次のいずれかのトピックをクリックしてください。

[詳細エディター] ダイアログ ボックスには、プログラムによって設定できるすべてのプロパティが反映されます。 [詳細エディター] ダイアログ ボックスまたはプログラムで設定できるプロパティの詳細については、次のトピックのいずれかを参照してください。

プロパティの設定方法の詳細については、「 データ フロー コンポーネントのプロパティを設定する」を参照してください。

こちらもご覧ください

Excel ソース
Integration Services (SSIS) の変数
データ フロー
スクリプト タスクを使用した Excel ファイルの操作