Powershell-按字符串分隔CSV的拆分选项卡&转换为HTML

Powershell-按字符串分隔CSV的拆分选项卡&转换为HTML,powershell,Powershell,我能够使用下面的代码从以选项卡分隔的CSV导出HTML表格文件。然而,我现在正试图根据下面的排序列导出单独的HTML;如果您对以下代码有任何帮助,我们将不胜感激 Powershell代码 $Header = @" <style> TABLE {border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;} TH {border-width: 1px;padding: 3

我能够使用下面的代码从以选项卡分隔的CSV导出HTML表格文件。然而,我现在正试图根据下面的排序列导出单独的HTML;如果您对以下代码有任何帮助,我们将不胜感激

Powershell代码

    $Header = @"
<style>
TABLE {border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}
TH {border-width: 1px;padding: 3px;border-style: solid;border-color: black;background-color: #6495ED;}
TD {border-width: 1px;padding: 3px;border-style: solid;border-color: black;}
</style>
"@

Import-Csv -delimiter "`t" -Path .\test.txt  | Select DATE,Recipeint,To,BODY,Sort| ConvertTo-Html -Head $Header| Out-File .\test.html

如果希望在一个文件中包含多个HTML表,可以执行以下操作:

Import-Csv -Path .\test.txt -Delimiter "`t" |
    Sort-Object {[int]$_.Sort} | Group-Object -Property Sort | Foreach {
        $_.Group | ConvertTo-Html -Head $header } | Out-File .\test.html
如果要将拆分数据输出到多个文件中,可以执行以下操作:

Import-Csv -Path .\test.txt -Delimiter "`t" |
    Sort-Object {[int]$_.Sort} | Group-Object -Property Sort | Foreach {
        $OutFile = ".\test{0}.html" -f $_.Group.Sort
        $_.Group | ConvertTo-Html -Head $header | Out-File $OutFile
    }
说明:

根据特性值将对象分组在一起。如果我们在属性排序上分组,它将返回与不同排序值的数量相匹配的多个组


例如,首先将Sort属性转换为[int]以使排序为数字。

这很完美,最后一件事是如何按日期对HTML文件输出进行排序,以便每个对话正常进行。我正在使用您提供的多文件代码。在Sort对象中,您可以使用-Property{[int]$\.Sort[datetime]$\.Date}-属性接受属性数组,优先级从左到右。