ورود

View Full Version : سوال: Export to execl با دستورات T-sql



bobrus
شنبه 18 اردیبهشت 1389, 23:43 عصر
با سلام
من می خواستم ببینم راهی هست که بشه اطلاعات یه queryیا view را به فایل اکسل منتقل کرد که هم اطلاعات و هم عناوین فیلدها باهم باشند؟
توضیح : من بادستورات bcp اینکار رو می کنم ولی فقط رکوردها منتقل میشن و معلوم نیست این فیلد برای چی هست یعنی نام فیلدها تو اکسل نمیاد/
:اشتباه::عصبانی++:

AminSobati
یک شنبه 19 اردیبهشت 1389, 00:09 صبح
سلام دوست عزیزم،
OpenRowSet رو آزمایش کنین

bobrus
چهارشنبه 22 اردیبهشت 1389, 09:28 صبح
از راهنماييتون ممنون امتحان مي كنم خبر مي دم
البته مشكل اصلي من اينه كه يه برنامه دارم كه با ASP.Net نوشته شده و قبلاً اكسپورت تو اكسل و پي دي اف داشت ولي الان كار نمي كنه اين برنامه يه گزارشهايي با پسوند rpt مي سازه كه اگه بشه اونارو به اكسل و پي دي اف تبديل كرد مشكلم زود تر حل مي شه

bobrus
چهارشنبه 22 اردیبهشت 1389, 16:31 عصر
قابل توجه دوستان مشكلم نسبتا با فرمول زير حل شد ولي براي اينكه خروجي در فايل اكسل ذخيره بشه بايد يه فايل اكسل قبلش بسازي و ساختار Table رو درش ايجاد كني


OPENROWSET
( { 'provider_name' , { 'datasource' ; 'user_id' ; 'password'
| 'provider_string' }
, { [ catalog. ] [ schema. ] object
| 'query'
}
| BULK 'data_file' ,
{ FORMATFILE = 'format_file_path' [ <bulk_options> ]
| SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB }
} )
<bulk_options> ::=
[ , CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ]
[ , ERRORFILE = 'file_name' ]
[ , FIRSTROW = first_row ]
[ , LASTROW = last_row ]
[ , MAXERRORS = maximum_errors ]


[ , ROWS_PER_BATCH = rows_per_batch ]

مثال


INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testing.xls;',
'SELECT Name, Date FROM [Sheet1$]')
SELECT [Name], GETDATE() FROM msdb.dbo.sysjobs
GO
كه اين برام زياد جالب نيست هنوز كسي راه حلي براي تبديل Rpt به Excel پيدا نكرده ويا حداقل يه راه ديگه اي كه بشه اين فايل اكسل رو هم با دستور بسازيم