Почта базы данных испортила вложение CSV
Есть ли способ отформатировать вывод CSV из приведенного ниже оператора, чтобы он был легко читаем в Excel? На данный момент он открывает все столбцы, перепутанные в один столбец. Я пробовал уже разных deperators.
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'auto-reporting'
, @recipients = @recipientsList
, @subject = 'MC Auto Reports'
, @query = 'select * from test.dbo.temp'
, @attach_query_result_as_file = 1
, @query_result_separator =','
, @query_result_no_padding = 1
, @query_attachment_filename = @FileName;
2 ответа
Попробуйте отредактировать полученный CSV-файл в блокноте. В самой первой строке введите [sep=,] без кавычек и сохраните его. Затем попробуйте открыть его в Excel, если он отображается правильно, тогда вам нужно проверить свои региональные настройки в окнах.
Попробуйте изменить
, @query_result_separator =','
в
, @query_result_separator = @separator
Просто добавьте этот код перед отправкой электронного письма
DECLARE @separator CHAR(1)
SET @separator = CHAR(9)
Это делает разделитель TAB, который Excel любит больше.