web-dev-qa-db-ja.com

Oracle SQLDeveloperからExcel.xlsxにデータをエクスポートします

Oracle SQL DeveloperからのデータをExcelにエクスポートする(SLQ Developerのツールではなくコマンドを使用する)必要がある小さなプロジェクトがあり、グラフを作成します。 "spool"を使用してcsvにエクスポートできます(ただし、csvでグラフを作成できません)が、xlsxにエクスポートしようとすると、Excelシート全体が破損します。

"Excel cannot open the file "ExcelFile.xlsx" because the file format or file extention 
       is not valid. Verify that the file has not been corrupted and that the 
       file extension mathces the format of the file."

これが私がSQLDeveloperで使用したコードです。

spool FileLocation\ExcelFile.xlsm
SELECT * FROM Table;
spool off;

データが破損するのを防ぐ方法はありますか、またはデータを.xlsxファイルにエクスポートする別の方法はありますか?

3
IAmRapson

Nooooooo。

set sqlformat csv
spool c:\file.sql
select * from table;
spool off;

次に、Excelでファイルを開きます。

OR

クエリをインタラクティブに実行します。

グリッドを右クリックして、[エクスポート]> [XLSX]を選択します。ファイルを開きます。

スプールはクエリ出力をファイルに書き込むだけで、ファイル拡張子を調べず、その時点で出力を書き込む方法を理解しません。

したがって、クエリを介して自分でコーディングするか、サポートされているフォーマット出力の1つを使用する必要があります

SET SQLFORMAT
  CSV
  JSON
  DELIMITED
  XML
  HTML
  INSERT
  LOADER

ヘルプについては、「helpsetsqlformat」を使用してください。

3
thatjeffsmith

こんにちは私がエクスポートのために知っているSQL開発者はsqlplus(コードは同じ)を使用しているので、他の方法がありますが、これで十分です

最初の行を次のように変更してみます。

spool ExcelFile.xls

おそらくあなたもオンにする必要があります

SET MARKUP HTML ON

http://www.orahow.com/2015/09/spool-sqlplus-output-to-Excel-format.html

とにかく回避策があります-.CSVファイルを生成してExcelで開き、.xlsxファイルとして保存するだけです

2
kpazik