web-dev-qa-db-ja.com

ExcelでのOracleクエリ出力

Oracle 10Gデータベースがあり、2つのテーブルを結合していくつかのデータを選択する非常に単純なクエリを作成する必要があります。ただし、結果リストをExcelにエクスポートしたいので、エンドユーザーはこの.xlsドキュメントを使用して結果を確認し、フィールド(場所)の1つでフィルター処理できます。

クエリを作成するときに、上記のようにこれらの結果を保持するExcelドキュメントを生成/作成する簡単な方法はありますか? SQLはExcel内から実行する必要はありませんが、考えてみると、これは便利な機能になると思います。ありがとう。

4
GrumP

あなたの要求のための簡単な解決策があります。

Excelのxlsxファイルを生成する小さなpl/sqlパッケージであるora_Excelを使用すると、データを選択して選択したデータをExcelにエクスポートし、フィルタリングを設定できます。

次の例を参照してください。

BEGIN    
    ORA_Excel.new_document;    

    ORA_Excel.add_sheet('My sheet');        
    ORA_Excel.query_to_sheet('select * from employees'); -- Select data from database   
    ORA_Excel.set_cells_filter('A1', 'K1'); -- Add cell filtering from column A1 to column K1    


    -- Save generated Excel to file with name example.xlsx to Oracle folder EXAMPLE_XLSX
    ORA_Excel.save_to_file('EXPORT_DIR', 'example.xlsx'); 
END; 

詳細については、チェックしてください ここ

乾杯

4
ora_excel

お使いのバージョンのExcelではOLE DBを使用できないため。SPOOLを使用してCSVファイルを作成します。

 SQL> SET echo off
 SQL> SET verify off
 SQL> SET colsep ,     
 SQL> SET pagesize 0   
 SQL> SET trimspool on
 SQL> SET feedback off
 SQL> SPOOL ON
 SQL> SPOOL C:\data.csv
 SQL> SELECT COLUMN1,COLUMN2,COLUMN3....
      FROM TABLE;
 SQL> SPOOL OFF

.csvファイルはデフォルトでExcelで開く必要があります。ユーザーが列ヘッダーを理解できるように、適切な列エイリアスを使用してください。

3
AnBisw

Excelで行うのは非常に簡単です。完了したら、ユーザーはデータを右クリックして「更新」と言うと、最新の更新を取得できます。

しかし、なぜ車輪の再発明をするのか多くのオンライン記事がすでにこれを行う方法を説明しています...これが1つです

http://blog.mclaughlinsoftware.com/Microsoft-Excel/how-to-query-Oracle-from-Excel-2007/

テーブルに接続した後、接続のプロパティを編集してカスタムSQLを入力できます(開発者ツールからコピーして貼り付けます)

3
xQbert

ステップ1クエリを実行する結果を右クリック ここに画像の説明を入力

ステップ2 [エクスポート]をクリックします ここに画像の説明を入力してください

ステップ3 [Excelにフォーマット]を選択しますデータシートの名前と場所を入力します

ステップ4 [次へ]をクリックして終了します ここに画像の説明を入力してください

2
Vivek Kumar

Excel 2003から直接Oracleデータベースにクエリを実行することはできますが、SQLステートメントはMS Queryによって解釈されるため、イライラすることがよくあります。問題のマシンにはすでにデータベースをクエリする機能があり、データベースの名前が適切に構成されていると想定します。

Excel 2003からデータベースをクエリするには、次のことを行う必要があります。

  1. OracleのODBCドライバーをインストールして構成します(Excel03は32ビットアプリケーションであるため、32ビットドライバーをインストールする必要があります)。ODBCは、スタート>管理ツール>で構成できます。 ODBCデータソースアドミニストレーター

  2. Excel 2003を開き、データに移動>外部データをインポート>新しいデータベースクエリ。

これにより、AccessのようなインターフェイスであるMSQueryが表示されます。

明らかに、これはあなたが正しい方向に踏み出すための非常に簡単なスターターです。ご不明な点がございましたら、コメントをお寄せください。サポートさせていただきます。

2
mrcardoor

簡単な方法:

最初に、クエリを含むビューを作成します(後でこのクエリを変更する必要がある場合があるため、最善の方法です)。

Oracleクライアントが正しくインストールされていることを確認してください。

  • Excel(2007以降)の[データ]タブでは、次のようにします。

他のソースから->データ接続からWizard-> Microsoft Data Access-OLE DB Provider for Oracle

  • 次に、データソース名(tnsnames.oraに保存)とユーザーパスワードを入力します

  • あなたが見るものを見つけてください、そうすればあなたはあなたが必要とするものを手に入れるでしょう。

パスワードを保存し、接続プロパティで自動的に更新するオプションを設定できます。

2
hmmftg

あなたは一つのことをすることができます。

  1. まず、記号(、、#など)を使用して列区切り記号を含む形式で出力を生成します。
  2. データをExcelにインポートしてから、プレースホルダーを列区切り文字として定義します。
1
Birupakhya Dash