Почта базы данных испортила вложение 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 любит больше.

Другие вопросы по тегам