2016-05-13 7 views
0

SQLを使用してExcel文書を照会したいと思います。私は、クエリを実行するためにC#とADOを使いたいです。私はサーバーにオフィスをインストールしたくありません。これを行う方法はありますか?SQLを使用してExcel文書を照会する方法

+0

エクセルファイルの代わりにcsvを使用してください。 Mysqlとsqlserverの両方には、csvファイルを使用してデータを読み取る方法があります。 – Nived

+0

@Nived質問を編集しました – Luke101

+0

バイト配列から[dataTableを作成](http://stackoverflow.com/questions/1300043/convert-a-byte-array-into-datatable)してクエリできますか? –

答えて

1

あなたがここに、ExcelスプレッドシートにアクセスするためのOLE DB接続を使用することができますが、あなたがこれを行った後、あなたがこの特定の例

theTable.Rows[indexOfRow].ItemArray[indexOfItem] //The items are stored as objects 

のような値にアクセスすることができDataTableの

string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; Data Source={0}; Extended Properties=Excel 12.0;", "myDocument.xlsx"); 

OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM MyTable", connString); 

DataSet ds = new DataSet(); 
adapter.Fill(ds, "TheData"); 
DataTable theTable = ds.Tables["TheData"]; 

を使用した例であります.xlsxファイル用です。

+0

お返事ありがとうございます。ファイルをディスクに保存せずにこれを行う方法はありますか?おそらく、クエリはメモリに読み込まれたExcelになります。 – Luke101

+0

@ Luke101は気をつけて、おそらく例を挙げていますか? :) –

+0

接続に「myDocument.xlsx」があります。つまり、ファイルを最初にディスクに保存する必要があります。私は、Excelファイルのバイト配列を持っています。代わりにバイト配列を照会する方法はありますか?エクセルファイルをディスクに保存せずに。 – Luke101

関連する問題