Wer eine CSV wie bei Convert-Table2HTML zu HTML konvertieren will, ohne den Zwischenweg des CSV-Imports zu gehen, kann diese Funktion nutzen.
function Convert-CSV2HTML { <# .SYNOPSIS Convert a CSV File to a HTML-Table. .DESCRIPTION The Convert-CSV2HTML cmdlet converts a CSV File to a HTML-Table in order to send it via email and have it available directly within the email. .PARAMETER CSVFile Specifies the path to the CSV file. .PARAMETER Delimiter Specifies the delimiter for the CSV File. .PARAMETER Encoding Specifies the encoding of the CSV File. .EXAMPLE PS C:\> Convert-CSV2HTML -CSVFile 'E:\Reports\DailyReport.csv' -Delimiter ';' -Encoding 'UTF8' .NOTES Author: Joachim Armbruster Blog : http://PowerShell24.de/ #> Param ( [parameter(Mandatory=$true)][String]$CSVFile, [String]$Delimiter, [String]$Encoding ) $Farbe1 = "bgcolor='#c5c5c5'" $Farbe2 = "bgcolor='#f0f0f0'" $CSVContent = Import-Csv $CSVFile -Delimiter $Delimiter -Encoding $Encoding $NoteProperties = $CSVContent | Get-Member -Type *Property* $html = "<table border='1'>" $html += "<tr>" foreach($NoteProperty in $NoteProperties) { $NotePropertyName = $NoteProperty.Name $html += "<th>$NotePropertyName</th>" } $html += "</tr>" $FarbenCounter = 0 for ($i = 0; $i -lt $CSVContent.Count; $i++) { if(($FarbenCounter % 2) -eq 0) { $bgcolor = $Farbe1 }else { $bgcolor = $Farbe2 } $html += "<tr " + $bgcolor + ">" foreach($NoteProperty in $NoteProperties) { $NotePropertyName = $NoteProperty.Name $Eintrag = $CSVContent[$i].$NotePropertyName $html += "<td>$Eintrag</td>" } $html += "</tr>" $FarbenCounter++ } $html += "</table>" return $html }