2013-09-24 109 views
0

我在Excel中有一個數據集,其中我必須將各種零件保存到新的csv文件中。我用SQL來選擇需要保存的部分。我希望有人會指導我使用SQL將選擇保存到csv。Excel:將查詢結果直接保存到CSV文件

SQL給了我一個記錄集,但我只想循環使用它作爲最後的手段。如果可能的話,我希望有一種更好的方法可以直接從查詢本身中保存整個結果。

類似於Remou在Want VBA in excel to read very large CSV and create output file of a small subset of the CSV上的解決方案就是我正在尋找的。但不幸的是,我無法得到那個工作。

+0

類似於Remou的解決方案http://stackoverflow.com/questions/427488/want-vba-in-excel-to-read-very-large-csv-and-create-output-file-of- a-small-subse?rq = 1是我正在尋找的。但不幸的是,我無法得到那個工作。 – user2696565

+0

你可以用你的信息而不是評論來編輯你的問題。 –

+0

我對你的問題感到困惑,你已經使用SQL來對Excel文件中的數據進行子集分析,大概是使用'OPENROWSET'或者其他的。現在你想知道如何輸出到CSV? –

回答

0

假設您在Excel VBA中,打開一個ADODB並將Recordset對象連接到數據庫,並且想要將內容保存爲CSV(從Excel VBA中)。

最簡單的實際上仍然是通過循環記錄集中的記錄。

但是,由於您已經規定(出於任何原因),下一個選項將使用Recordset.Save <StreamObject>方法。創建一個System.IO.Streamwriter對象以傳遞給Recordset.Save

OR,另一種方式,如果你正在使用Jet SQL是:

conDB.Execute "SELECT * INTO [Text;Database=" _ 
       & vsCSVFolder _ 
       & ";HDR=No;FMT=Delimited].[" _ 
       & vsCSVFileame _ 
       & "] FROM Attendance", _ 
       DBExport, _ 
       adCmdText Or adExecuteNoRecords 

希望這有助於。

+0

我只排除循環的記錄,假設我可以做一些事情,比如「SELECT Blah INTO Output.csv FROM ExcelSheet ...」。這樣我可以選擇並保存在一個語句中。但正如你所說,我可能只需要循環。無論如何感謝您的幫助。 – user2696565

相關問題