Excel 変換先

更新 : 2007 年 9 月 15 日

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

ms137643.note(ja-jp,SQL.90).gifメモ :
Microsoft Excel データ ソースに接続するパッケージを 64 ビット コンピュータで実行する場合は、32 ビット モードで実行する必要があります。Excel データ ソースに接続する Microsoft Jet OLE DB Provider は、32 ビット版でのみ利用できます。
ms137643.note(ja-jp,SQL.90).gifメモ :
Microsoft Office Excel 2007 を使用するデータ ソースにデータを読み込むには、OLE DB 変換先を使用します。Excel 変換先を使用して Excel 2007 データ ソースに接続することはできません。詳細については、「Excel 接続マネージャ」を参照してください。

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

  • テーブルまたはビュー。
  • 変数で指定されたテーブルまたはビュー。
  • SQL ステートメントの結果。クエリにはパラメータ化クエリを使用できます。
ms137643.note(ja-jp,SQL.90).gif重要 :
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     日付 (DT_DATE)
    • String     Unicode 文字列、長さ 255 (DT_WSTR)
    • Memo     Unicode テキスト ストリーム (DT_NTEXT)
  • Data 型と長さの変換。Integration Services では、データ型の暗黙な変換が行われません。したがって、派生列変換またはデータ変換の変換を使用して、Excel データを明示的に変換してから Excel 以外の変換先に読み込むか、Excel データを Excel 以外のデータに変換してから Excel 変換先に読み込む必要があります。この場合、初期パッケージを作成する際に、必要な変換を構成できるインポート ウィザードおよびエクスポート ウィザードを使用すると便利な場合があります。必要な変換の例を次に示します。
    • 特定のコードページを使用した Unicode Excel 文字列の列と Unicode 以外の文字列の列間の変換
    • 255 文字の Excel 文字列の列と異なる長さの文字列の列間の変換
    • 倍精度の Excel 数値列と他の型の数値列の列間の変換

Excel 変換先の構成

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

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

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

プロパティの設定方法の詳細については、次のトピックのいずれかを参照してください。

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

参照

処理手順

Excel のファイルおよびテーブルをループ処理する方法

概念

Excel ソース
Integration Services の変数
パッケージのデータ フローの作成
64 ビット コンピュータ上での Integration Services の使用上の注意

その他の技術情報

Integration Services の変換先
スクリプト タスクを使用した Excel ファイルの操作

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2007 年 9 月 15 日

新しい内容 :
  • Excel データ ソースに接続するパッケージを 64 ビット コンピュータで実行する際の注意事項を追加しました。
  • メモ型データの保存結果について説明を追加しました。

2006 年 12 月 12 日

追加内容 :
  • Excel 2007 データ ソースの使用に関する注意事項を追加しました。

2006 年 4 月 14 日

追加内容 :
  • Excel の操作に関する新しいトピックへのリンクを追加しました。

2005 年 12 月 5 日

変更内容 :
  • 「使用に関する注意点」全体を拡張して書き直し、既知の問題点を明確にしました。