如何使用Powershell创建自定义列数的HTML表格
PowerShell单属性数组生成多列HTML表格方案
核心逻辑:PowerShell的ConvertTo-Html生成表格的列数由输入对象的属性数量决定,单属性对象默认只会生成单列。你只需要提前把原一维单属性数组按目标列数拆分,重新构造为多属性对象数组即可实现多列排布。
完整实现代码
# -------------------------- # 1. 准备你的原单属性数组,此处为示例,替换为你自己的数组即可 $originalArr = 1..50 | ForEach-Object { [PSCustomObject]@{ # 此处替换为你实际的单属性名称 ItemName = "测试元素$_" } } # 2. 定义要展示的列数,3就是3列,改4就是4列 $targetColumn = 3 # 3. 按列数拆分原数组,构造多属性对象 $multiColObj = for ($i = 0; $i -lt $originalArr.Count; $i += $targetColumn) { $rowProp = [ordered]@{} for ($col = 0; $col -lt $targetColumn; $col++) { $colIndex = $i + $col $rowProp["列$($col+1)"] = if ($colIndex -lt $originalArr.Count) { # 此处的ItemName要和你原对象的属性名一致 $originalArr[$colIndex].ItemName } else { "" } } [PSCustomObject]$rowProp } # 4. (可选)添加表格样式,优化展示效果 $tableStyle = @" <style> table { width: 100%; border-collapse: collapse; margin: 15px 0; } th, td { border: 1px solid #e0e0e0; padding: 10px; text-align: left; } th { background-color: #f5f5f5; font-weight: bold; } </style> "@ # 5. 生成HTML并导出到文件 $multiColObj | ConvertTo-Html -Title "多列数据报表" -Head $tableStyle | Out-File -FilePath "./多列报表.html" -Encoding UTF8
自定义调整说明
- 替换代码中的
ItemName为你原单属性对象的实际属性名 - 修改
$targetColumn的数值即可切换3列/4列展示 - 可以修改
$tableStyle里的CSS代码,自定义表格的颜色、间距、边框等样式
内容的提问来源于stack exchange,提问作者twist3d
相关产品推荐
相关产品推荐

