データの選択
Excel ワークシートの構成はさまざまです。本製品 には、さまざまな構成方法に基づいてデータを選択するための設定が用意されています。
ヘッダーセルあり
スプレッドシートにカラムヘッダーがある場合、本製品 は、それらを使用してワークシートテーブルの列名を表すことができます。ヘッダーセルを使用するには、Header プロパティをTrue に設定します。その後、次のようにクエリできます。SELECT RowId, Name, Item, Quantity, Amount FROM Sheet1 WHERE Amount > '50'上のクエリは、スプレッドシートの最初の行に列名RowId、Name、Quantity、およびAmount があることを前提としています。スプレッドシートに、選択した列より多くの列があってもかまいません。また、列の順序は任意です。
ヘッダーセルなし
スプレッドシートにヘッダーカラムがない場合、またはヘッダーカラムを無視する場合は、Header プロパティをfalse に設定できます。この場合、各列はExcel の列名で表されます(A、B、Cなど)。SELECT A, B, C, D FROM Sheet1 WHERE D > '50'
方向
スプレッドシートを水平方向にレイアウトする(列名を最初の列に縦に並べる)場合は、Orientation プロパティをHorizontal に設定し、各列をテーブルの行として読み取ることができます。Orientation プロパティは、Header 接続プロパティや下記の範囲構文と組み合わせて使用できます。ヘッダーカラムが設定されてなく、方向が水平方向の場合、列名はR1、R2、R3 などとなります。
SELECT R1, R2, R3 FROM Sheet1 WHERE R2 > '50'
範囲
スプレッドシートの左上が空いている場合、または目的のデータがシートの中ほどにある場合などは、範囲機能を使用して、プレッドシートの特定の部分のデータを選択できます。範囲は、テーブル名の一部として指定します。例えば、次のコマンドは、A1からE5までのセルの範囲を選択します。SELECT * FROM Excel_Sheet#A1:E5In case the sheet name contains a quote, if you want to select only a range, the correct Excel syntax involves using an extra quote as an escape character and enclosing the full sheet name with quotes. For example the following command will select the range of cells between A1 and E5 for the sheet named Excel'Sheet:
SELECT * FROM ['Excel''Sheet'#A1:E5]また、範囲の終了セルにワイルドカード*)を使用することもできます。次のような範囲 '#A5:F*'、 '#A5:*20'、および '#A5:**' がサポートされます。例えば、次のコマンドは、A5と列F の間のセル範囲(スプレッドシートの最後の行まで)を選択します。
SELECT * FROM Excel_Sheet#A5:F*
名前付き範囲
スプレッドシート内に名前付き範囲が定義されている場合は、この範囲をテーブルとしてクエリできます。名前付き範囲SALES のデータを選択するには、次のクエリを発行します。SELECT * FROM SALES