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ファイルにエクスポートする別の方法はありますか?
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」を使用してください。
こんにちは私がエクスポートのために知っている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ファイルとして保存するだけです