Я создаю CSV-файл из XML-файла с использованием powershell и хотел бы применить к CSV-файлу несколько вещей:
- Фильтр для заголовка (без фильтрации строк в коде)
- Применение цвета к строке заголовка
- Заморозить верхний ряд файла CSV
- Создание нескольких листов
MS Office не будет установлен на сервере, поэтому мне нужны предложения без использования ComObject.
Если в C # есть решение, предложите, пожалуйста, преобразовать код в Powershell.
Код для генерации файла CSV ::
$xmlFilePaths = @("D:\\IntegrationTests.xml", "D:\\Test.xml")
$excelFilePath = "D:\\Test.csv"
function CreateExcelFromXML($xmlFilePaths, $excelFilePath)
{
foreach($xmlFilePath in $xmlFilePaths)
{
[xml]$xml = Get-Content $xmlFilePath
$xml.SelectNodes('//test-case') |
Select-Object @{n='ASSEMBLY';e={$_.ParentNode.ParentNode.ParentNode.ParentNode.name}},
@{n='SOLUTION';e={$_.ParentNode.ParentNode.ParentNode.name}},
@{n='PROJECT';e={$_.ParentNode.ParentNode.name}},
@{n='CLASS';e={$_.ParentNode.name}},
@{n='METHOD';e={$_.methodname}},
@{n='RUN STATUS';e={$_.runstate}},
@{n='SEED';e={$_.seed}},
@{n='STATUS';e={$_.result}},
@{n='DURATION';e={$_.duration}},
@{n='ASSERTS';e={$_.asserts}} | Export-Csv $excelFilePath -Append -NoType
}
}
CreateExcelFromXML $xmlFilePaths $excelFilePath