@alexeyborisov75

Почему при экспорте в эксель PowerShell добавляет лишнию информацию?

Добрый день! есть код
$Connection = "Server=localhost\SQLEXPRESS;Database=msdb;Trusted_Connection=True;"
  $InputFile  = "C:\Users\user\TestScripts\SQLQuery2.sql"
  $ExportFile = "C:\Users\user\TestScripts\Report1.xls"
  $Sheatnamber = 0 

  $result = Invoke-Sqlcmd -InputFile $InputFile  -OutputAs Dataset -ConnectionString $Connection
  
  
  $t = $result.Tables.Count

  
  for ($i = 0; $i -lt $t; $i++)
{ 
   
   $Sheatnamber = $Sheatnamber + 1
   $sheatname = "Запрос " + $Sheatnamber

   $result.Tables.Item($i) | Export-Excel -WorksheetName $sheatname -Path  $ExportFile -AutoSize -Append

}


он работает и с ним все замечательно, но вот проблема, что он экмпортирует помимо данных еще и лишнюю информацию 5fce0c3a54a58754247714.png

у Export-csv есть параметр -NoTypeInformation, у Export-Excel такого нету или я плохо искал. Но возможно я как-то неправильно передаю массив на экспорт.
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
@MaxKozlov Куратор тега PowerShell
Потому что у DataRow есть эти свойства
https://docs.microsoft.com/ru-ru/dotnet/api/system...
Их можно исключить примерно вот так
$result.Tables.Item($i) | Select-Object -Property * -ExcludeProperty RowError,RowState,Table,ItemArray,HasErrors | Export-Excel
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы