2017-07-06 28 views
1

実際には、Excel(.xlsx)ファイル形式をエクスポートしようとしています。以下は、私はすべてのデータのメッシング、「test.xlsx」に「のtest.CSV」からファイル形式をmodifiyしようとしながら、だから、sp_send_dbmailSQL Serverを使用してExcelファイル(.xlsx)形式をエクスポートする方法

EXEC msdb.dbo.sp_send_dbmail 
@profile_name = 'eMail Notification', 
@recipients = '[email protected]', 
@query = 'use [dbname] select im.FullName as EmployeeName, im.MemberIC as NRIC 
     from tblIndividualMst im   
     where im.RecStatus = ''A'' 
     and (im.DateOfResign >= getdate() or im.DateOfResign is null)' , 
@subject = 'Test', 
@attach_query_result_as_file = 1 , 
@query_attachment_filename = 'test.csv', 
@query_result_separator=',',@query_result_width =32767, 
@query_result_no_padding=1; 

を使用して.CSVファイル形式を送信するために使用されている私のクエリですtest.xlsxで起動します。では、正しい.xlsxファイル形式を取得するためにクエリを変更する方法を教えてください。

助けてください。ありがとう!!!

答えて

0

私はかつてこれを試しました。

insert into OPENROWSET(
    'Microsoft.Jet.OLEDB.4.0', 
    'Excel 8.0;Database=d:\testfile.xls;;HDR=YES', 
    'SELECT * FROM [Sheet1$]') 
select * from table1 

を代わりに私が実際にETL関連のタスクを実行するために構築されているSSISを使用することをお勧めします、:これはsp_send_dbmailでは動作しないかもしれませんがあなたは、これを使用することができます。任意のソースから書き出して宛先を確認し、送信メールタスクを使用して送信することができます。 SQL Serverエージェントと共に使用するように構成することもできます。

SSISの詳細:

+0

これを実行した後、あなたは '@ file_attachments = 'Dを使用することができるはずです:\ testfile.xls''をsp_send_dbmailに追加しますファイルを送信する – MWillemse

関連する問題