Private/Format-SDCellValue.ps1
|
function Format-SDCellValue { <# .SYNOPSIS Formats a value for CSV/HTML output: ISO dates, joined lists, empty string for $null. #> [CmdletBinding()] [OutputType([string])] param( [AllowNull()] [object]$Value ) if ($null -eq $Value) { return '' } if ($Value -is [datetime]) { return $Value.ToString('yyyy-MM-dd HH:mm', [Globalization.CultureInfo]::InvariantCulture) } if ($Value -is [datetimeoffset]) { return $Value.UtcDateTime.ToString('yyyy-MM-dd HH:mm', [Globalization.CultureInfo]::InvariantCulture) } if ($Value -is [string]) { return $Value } if ($Value -is [System.Collections.IEnumerable]) { return (@($Value) | ForEach-Object { Format-SDCellValue -Value $_ }) -join '; ' } [string]::Format([Globalization.CultureInfo]::InvariantCulture, '{0}', $Value) } |