4

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

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

4

7 に答える 7

4

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

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; 

詳細については、こちらを確認してください

乾杯

于 2014-01-15T09:57:54.923 に答える
3

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

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

http://blog.mclaughlinsoftware.com/microsoft-excel/how-to-query-oracle-from-excel-2007/

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

于 2012-08-03T12:51:14.330 に答える
3

お使いのバージョンのExcelではOLEDBを使用できないため。SPOOLCSVファイルを作成するために使用します。

 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で開く必要があります。ユーザーが列ヘッダーを理解できるように、適切な列エイリアスを使用してください。

于 2012-08-04T19:22:25.960 に答える
2

簡単な方法:

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

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

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

他のソースから->データ接続ウィザードから->MicrosoftData Access-OLE DB Provider for Oracle

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

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

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

于 2012-08-03T13:04:51.687 に答える
2

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

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

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

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

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

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

于 2012-08-08T17:15:43.893 に答える
2

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

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

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

ステップ4[次へ]をクリックして、 ここに画像の説明を入力します

于 2019-03-04T10:36:32.457 に答える
1

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

  1. まず、記号(、、#など)を使用して列区切り記号を含む形式で出力を生成します。
  2. データをExcelにインポートしてから、プレースホルダーを列の区切り文字として定義します。
于 2012-08-03T17:47:33.857 に答える