Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Форматирование таблиц "ConvertTo-Html" (http://forum.oszone.net/showthread.php?t=243361)

rudimko 25-09-2012 16:42 1994576

Форматирование таблиц "ConvertTo-Html"
 
Друзья, помогите решить проблему. Делаю вывод переменной в HTML, но никак не могу назначить CSS стили для формируемых табличек ConvertTo-Html. Получается что размеры таблиц зависят от помещающемся в нем тексте, а жестко для каждого столбика свой размер задать не получается.
Код:

$var | ConvertTo-Html  $Headers[0], $Headers[1], $Headers[2], $Headers[3], $Headers[4], $Headers[5]
Как быть? Заранее спасибо!

Kazun 25-09-2012 18:48 1994630

Пример для Get-Process и свойств Name,VirtualMemorySize64
Код:

$header = @"
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
table
{
border:1px solid #000000;
word-wrap:break-word;
}
</style>
</head>
<body>
<table border="1">
<tr><td width="50">Name</td><td width="50">VirtualMemorySize64</td></tr>
"@

$header += Get-Process |  Foreach {"<tr><td width=""50"">$($_.Name)</td><td width=""50"">$($_.VirtualMemorySize64)</td></tr>"}

$header += @"
</table>
</body>
</html>
"@

$header | out-file result.html
ii result.html


rudimko 26-09-2012 08:07 1994888

Очень здорово, можно теперь делать любые шаблоны. Но у меня возникла небольшая проблема с выводом из объекта:
Код:

$header += $var |  Foreach {"<tr><td>$($Headers[0])</td><td>$($Headers[1])</td></tr>"}
Не выводит значения, а только заголовки
читать дальше »
Статус \ База Файл 24.09 25.09
Статус \ База Файл 24.09 25.09
Статус \ База Файл 24.09 25.09
Статус \ База Файл 24.09 25.09
...


Как быть далее? )

Kazun 26-09-2012 08:52 1994904

$Headers[0],$Headers[1] - Вставляете заголовки,получаете заголовки.

rudimko 26-09-2012 09:02 1994914

Kazun, А как можно вывести значения тогда из переменной?

Kazun 26-09-2012 09:04 1994916

Непонятно,что в этой переменной.

rudimko 26-09-2012 09:08 1994919

Kazun,
Тебе это знакомо...
Сначала в цикле выполняются условия, потом на основе их результата создается объект
...
New-Object PsObject -Property @{
$Headers[0] = $FileYesterday.Directory.Name
$Headers[1] = $FileYesterday.Name
$Headers[2] = "$("{0:N0}" -f ($FileBef.Length/1mb)) мб"
$Headers[3] = "$("{0:N0}" -f ($FileYesterday.Length/1mb)) мб"
$Headers[4] = $Status
$Headers[5] = $FileDelta
...

PS D:\Temp\Scripts> $var | Format-List *
читать дальше »

24.09 : 2*949 мб
25.09 : 2*948 мб
<img src='arrow-refresh-icon.png'/> : -1 мб<img src='arrow-down-icon.png'/>
Файл полного ежедневного бэкапа : base_1_backup_201209252152.bak
Статус : <img src='error-icon.png'/>
База : base_1

24.09 : 3*694 мб
25.09 : 3*695 мб
<img src='arrow-refresh-icon.png'/> : 1 мб<img src='arrow-up-icon.png'/>
Файл полного ежедневного бэкапа : base_2_backup_201209252152.bak
Статус : <img src='accept-icon.png'/>
База : base_2

и так далее...


Весь скрипт выслал по PM...

Kazun 26-09-2012 09:23 1994933

<tr><td width="50">$($Headers[0])</td><td width="50">$($Headers[1])</td><td width="50">$($Headers[2])</td><td width="50">$($Headers[3])</td><td width="50">$($Headers[4])</td></tr> - Заголовок таблицы

Код:

$var | foreach {"<tr><td>$($_.($Headers[0]))</td>td>$($_.($Headers[1]))</td>td>$($_.($Headers[2]))</td>td>$($_.($Headers[3]))</td>td>$($_.($Headers[4]))</td></tr>"}

rudimko 26-09-2012 09:31 1994938

Блиннн... Пробовал что то подобное, не вышло... моя ошибка в неверном написании, писал - ($Headers[0]) и $_.($Headers[0]), а надо было - $($_.($Headers[0]))
Спасибо!


Время: 08:24.

Время: 08:24.
© OSzone.net 2001-