[英]Attempting to output a SQL developer export to Excel by running a batch file
我是剛開始通過批處理文件運行任務。 我有一個批處理和sql腳本,可以輸出到csv,它可以工作。 但我希望輸出在Excel中。 我已經編輯了這些腳本,以便可以在Excel中輸出。 該過程會創建一個Excel文件。 但是,當我嘗試打開Excel文件時,出現錯誤消息,即找不到該文件。 我究竟做錯了什么?
這是SQL腳本。 假設這存儲在file.sql中:
set verify off
set define off
set termout off
set heading off
set pages 50000
set feedback off
set newpage none
set trimspool on
set linesize 1000
set decimal
whenever sqlerror exit
spool C:\pathname\filename.xlsx append
select
''
||COLUMN_1||
';'||COLUMN_2||
';'||COLUMN_3||
''
FROM blahblah.tablename;
spool off
exit
這是批處理腳本:
echo off
if exist C:\pathname\filename.xlsx del C:\pathname\filename.xlsx
:: creating a header
echo COLUMN_1;COLUMN_2;COLUMN_3;
sqlplus blahblah/password@databasename @C:\pathname\file.sql
我基本上只是將腳本中的.csv文件擴展名更改為.xlsx擴展名,但顯然這還不夠,因為我無法打開文件。
另外,如何通過此過程選擇全部(選擇*)? 我也嘗試過更改,但最終卻根本沒有任何數據(甚至沒有csv文件)
在Excel VBA中:
Sub ImportData()
Dim Conn as New Connection
Conn.Connectionstring = ' get details from here https://www.connectionstrings.com/sql-server/ depending on version of sql you are using
conn.open
dim rs as new recordset
rs.open "Select * from BlahBlahTablename",conn
if not rs.eof then ' if we have data
range("a2").copyfromrecordset rs
end if
Dim f as field
dim r as range
for each f in rs.fields
r = f.name
set r = r.offset(0,1)
next f
rs.close
set rs = nothing
conn.close
End Sub
這假設在Excel中引用了ado
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.