在sp_send_dbmail生成的csv中定义适当的宽度

时间:2016-02-10 08:05:28

标签: sql sql-server csv

当我使用sp_send_dbmail发送带有csv附件的邮件时,列在文件中重叠,如下所示

enter image description here

有没有办法为这样的列设置合适的宽度。

enter image description here

我使用的查询是

CREATE TABLE ##sample
(
header1 varchar(50),
header2 varchar(50),
header3 varchar(50),
)

INSERT ##sample VALUES ('Samlpe text Samlpe text','Samlpe text Samlpe text','Samlpe text Samlpe text')

INSERT ##sample VALUES ('Samlpe text Samlpe text','Samlpe text Samlpe text','Samlpe text Samlpe text')
DECLARE @column1name varchar(50),
@qry VARCHAR(MAX)

SET @qry =
('set nocount on; 
SELECT ''header1'', ''header2'', ''header3''
UNION ALL
SELECT  header1,header2,header3
FROM ##sample')

DECLARE
    @tab char(2) = CHAR(9)

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Mail Profile', 
@query = @qry,
@attach_query_result_as_file = 1,
@query_attachment_filename = 'Report.csv',
@query_result_separator=@tab,
@query_result_width =32767,
@query_result_no_padding=1,
@body = 'Empty',
@body_format ='HTML',
@recipients = 'raju.vadnala@gmail.com', 
@subject = 'Empty',
@query_result_header=0


drop table ##sample 

1 个答案:

答案 0 :(得分:0)

不,csv文件中没有任何格式,最好的办法是使用xls或ods格式