ورود

View Full Version : خروجی اکسل در خود SQL



Mofid.m
دوشنبه 07 دی 1394, 09:41 صبح
امکانش هست بشه خروجی یه دستور SELECT رو فرستاد به EXCEL?
یعنی یه فایل excel ایجاد کنه و خروجی اون query رو اونجا ذخیره کنه؟
اگه امکانش هست به چه شکله؟

حمیدرضاصادقیان
دوشنبه 07 دی 1394, 21:39 عصر
با سلام
بهترین کار اینه از راههای دیگه مثل استفاده از SSIs Package یا Impoirt/Export استفاده کنید.
ولی اگر میخواهید مستقیم از روی کوئری اینکارو انجام بدید باید با استفاده از OpenRowset اینکارو بکنید.
به این مثال توجه کنید.:
INSERT INTO OPENROWSET
('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=c:\Test.xls;','SELECT productid, price FROM dbo.product')

Mofid.m
چهارشنبه 09 دی 1394, 11:18 صبح
با سلام
بهترین کار اینه از راههای دیگه مثل استفاده از SSIs Package یا Impoirt/Export استفاده کنید.
ولی اگر میخواهید مستقیم از روی کوئری اینکارو انجام بدید باید با استفاده از OpenRowset اینکارو بکنید.
به این مثال توجه کنید.:
INSERT INTO OPENROWSET
('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=c:\Test.xls;','SELECT productid, price FROM dbo.product')

سلام آقای صادقیان
تشکر بابت کمکتون
من این کد رو برای دیتابیس خودم تغییر دادم اما خطای "Incorrect syntax near ')'" رو بهم میده.
کد من :
INSERT INTO OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=e:\QueryResult.xls','select * from [ShowAll] where DateIN>="2015-10-01"')
پرانتز آخر رو خطا میگیره

حمیدرضاصادقیان
چهارشنبه 09 دی 1394, 12:33 عصر
این به خاطر "" هست که رشته تاریخ رو درونش قرار دادید.
درمورد Quoted Indetifier جستجو کنید.

Mofid.m
چهارشنبه 09 دی 1394, 13:30 عصر
فکر نکنم به این خاطر باشه

این تصویر رو ببینید
این یه دستور select خیلی سادست.
بازم همین خطا رو دارم
137912

حمیدرضاصادقیان
چهارشنبه 09 دی 1394, 13:38 عصر
اینو (https://www.mssqltips.com/sqlservertip/1202/export-data-from-sql-server-to-excel/) مشاهده کنید.