我在Excel中有一个数据集,我必须将各种部分保存到新的csv文件中。我使用SQL来选择需要保存的部分。我希望有人会指导我使用SQL将此选择保存到csv。
SQL给了我一个记录集,但我想只是作为最后的手段循环它。我希望有一种更好的方法,如果可能的话,直接从查询本身中保存整个结果。
Remou在Want VBA in excel to read very large CSV and create output file of a small subset of the CSV上的解决方案就是我正在寻找的东西。但不幸的是,我无法让它发挥作用。
答案 0 :(得分: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
希望这有帮助。