次の方法で共有


Excel 変換先

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

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

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

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

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

重要な注意事項重要

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

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

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

使用に関する注意点

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

Microsoft サポート技術情報に含まれる資料の多くは、このプロバイダおよびドライバの処理に関するドキュメントです。これらの資料は Integration Services または従来のデータ変換サービスに固有のものではありませんが、予期しない結果が発生する可能性のある特定の動作について知っておくことをお勧めします。Excel ドライバの使用および動作に関する一般情報については、「[HOWTO] Visual Basic または VBA から ADO を Excel データで使用する」を参照してください。

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

  • テキスト データの保存。Excel ドライバでテキスト データの値を Excel 変換先に保存するときに、保存される値が確実にテキスト値として解釈されるように、ドライバによって各セルに単一引用符が追加されます。保存されたデータの読み取りや処理を行う他のアプリケーションがあるか、または開発する場合、各テキスト値の前に付けられた単一引用符に対する特殊な処理を含める必要があります。

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

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

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

    • Currency     通貨 (DT_CY)

    • Boolean     ブール (DT_BOOL)

    • Date/time     datetime (DT_DATE)

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

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

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

    • 特定のコードページを使用した Unicode Excel 文字列の列と Unicode 以外の文字列の列間の変換

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

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

Excel 変換先の構成

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

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

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

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

複数の Excel ファイルをループ処理する方法については、「Foreach ループ コンテナを使用して Excel のファイルおよびテーブルをループ処理する方法」を参照してください。

Integration Services のアイコン (小) 最新の Integration Services の入手

マイクロソフトが提供する最新のダウンロード、アーティクル、サンプル、ビデオ、およびコミュニティで選択されたソリューションについては、MSDN または TechNet の Integration Services のページを参照してください。

これらの更新が自動で通知されるようにするには、ページの RSS フィードを購読します。

変更履歴

変更内容

  • Microsoft Office Excel 2007 を使用するデータ ソースでは Excel の以前のバージョンとは異なる接続マネージャが必要となることに関する注意書きを削除しました。接続方法に関する最新情報については、「Excel ブックに接続する方法」を参照してください。