О боже, после всего этого вот ответ: необходимо включить атрибут type
в определение поля:
{
name: 'Account',
title: 'Account',
width: '10',
type: 'text',
},
{
name: 'Name',
title: 'Name',
width: '65',
type: 'text',
},
{
name: 'AXfer',
title: 'ATeam',
width: '10',
type: 'text',
},
{
name: 'BXfer',
title: 'BGood',
width: '10',
type: 'text',
}
Я не думаю, что есть какой-либо вариант для достижения этой цели - боюсь, вам придется жить с этими заголовками.
Следующая строка:
findstr /R /C:"^[^-]*$" MyTableColumns.csv > MyTableHeader.csv
очень опасна, так как удаляет все строки, содержащие «-». Вам лучше взглянуть на findstr /? и используйте что-то вроде:
findstr /B /V /C:"-----" MyTableColumns.csv > MyTableHeader.csv
Единственное, о чем я могу думать, это удалить заголовок с помощью переключателя -h -1
и добавить имена столбцов в качестве первой строки в SQL-запрос:
SELECT 'FirstName' as FirstName, 'LastName' as LastName
UNION
SELECT top 5 FirstName, LastName FROM Person.Contact
Обратите внимание, что при наличии других данных введите затем (var)char
, вам нужно преобразовать поле с помощью: CAST(MyColumnName AS varchar(32)) as MyColumnName
Можно сделать следующее:
exec 'sqlcmd -S YourServer -E -Q "set nocount on; select * from YourTable" -s "," -W | findstr /R /C:"^[^-]*$" > yourfile.csv'
Это создаст файл CSV с заголовками, без тире и обрезанного пробела, одним махом. На основе ответа MichaelM выше.