HTML-таблица с PowerShell

У меня есть скрипт, который берет ошибки из TFS и строит таблицу с соответствующими заголовками. Скрипт считывает из XML 2 идентификатора запроса, создает 2 таблицы, а затем отправляет их по электронной почте. Скрипт работает, но мне нужно добавить пробел между таблицами, сейчас они слипаются. Я пробовал много вещей, таких как br и div, но ничего не помогло. Я скопирую только соответствующий код для таблиц. Я не хочу менять или улучшать таблицу, поэтому помогите мне добавить пробел между таблицами.

$HtmlTable = "<table border='1' align='Left' cellpadding='2' cellspacing='0' style='color:black;font-family:arial,helvetica,sans-serif;text-align:left;'>
                <tr style ='font-size:14px;font-weight: normal;background: #FFFFFF'>
                <th align=left><b>Version</b></th>
                <th align=left><b>Severity</b></th>
                <th align=left><b>Title</b></th>
                <th align=left><b>State</b></th>
                </tr>"
$HtmlTable += "<tr style='font-size:14px;background-color:#FFFFFF'>
    <td>" + $CloudVersion + "</td>
    <td>" + $Bug_Severity + "</td>
    <td>" + $Bug_Title + "</td>
    <td>" + $Bug_State + "</td>
    </tr>" 

$HtmlTable += "</table>"

Все вышеперечисленное — это функция, которая вызывается дважды, $Htmls содержит 2 таблицы.

$Htmls += $HtmlTable

Эта функция отображает таблицы

function Print ($Htmls) {
    $outlook = [Runtime.InteropServices.Marshal]::GetActiveObject('Outlook.Application')
    $Mail = $Outlook.CreateItem(0)
    foreach ($html in $Htmls) {
    $mail.HTMLBody += $html
    }
    $Mail.Display()
} 

Добавьте margin вокруг стола, чтобы создать некоторое расстояние.

Meet 05.08.2024 09:36

Можете пожалуйста написать как это сделать?

Bandit 05.08.2024 09:55

Конечно, просто добавьте эту строку <table border='1' align='Left' cellpadding='2' cellspacing='0' style='color:black;font-family:arial,helvetica,sans-serif;te‌​xt-align:left; margin: 15px'>, а если вы хотите добавить только CSS, добавьте эту margin: 15px в table.

Meet 05.08.2024 10:20
margin-bottom: 20px; можно добавить только место внизу. также работает хорошо.
wenbo 05.08.2024 10:49
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
5
65
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

вы могли бы сделать что-то вроде этого, обернуть таблицу в гибкий div с интервалом в сделать так, чтобы это выглядело аккуратно.

$HtmlTable = "<div style = "display: flex; padding: 1rem 0.5rem"> <table border='1' align='Left' cellpadding='2' cellspacing='0' style='color:black;font-family:arial,helvetica,sans-serif;text-align:left;'>
            <tr style ='font-size:14px;font-weight: normal;background: #FFFFFF'>
            <th align=left><b>Version</b></th>
            <th align=left><b>Severity</b></th>
            <th align=left><b>Title</b></th>
            <th align=left><b>State</b></th>
            </tr>"
$HtmlTable += "<tr style='font-size:14px;background-color:#FFFFFF'>
<td>" + $CloudVersion + "</td>
<td>" + $Bug_Severity + "</td>
<td>" + $Bug_Title + "</td>
<td>" + $Bug_State + "</td>
</tr>" 

$HtmlTable += "</table></div>"

скажите пожалуйста, сработало это или нет.

Спасибо, но между столами все еще нет места.

Bandit 05.08.2024 09:48

последняя функция, которую вы распечатали, где она отображает почту?

Utsav Makwana 05.08.2024 10:02

Скриншот добавлен

Bandit 05.08.2024 10:07
Ответ принят как подходящий

Итак, чтобы создать пространство между столом, можно использовать margin. В приведенном ниже коде я добавил margin вокруг таблицы.

Вы можете скопировать приведенный ниже код и опробовать его в своем проекте. Надеюсь, это помогло, спасибо.

$HtmlTable = "<table border='1' align='Left' cellpadding='2' cellspacing='0' style='color:black;font-family:arial,helvetica,sans-serif;text-align:left; margin: 15px;'>
                <tr style ='font-size:14px;font-weight: normal;background: #FFFFFF'>
                <th align=left><b>Version</b></th>
                <th align=left><b>Severity</b></th>
                <th align=left style = "min-width: 70vh;"><b>Title</b></th>
                <th align=left><b>State</b></th>
                </tr>"
$HtmlTable += "<tr style='font-size:14px;background-color:#FFFFFF'>
    <td>" + $CloudVersion + "</td>
    <td>" + $Bug_Severity + "</td>
    <td>" + $Bug_Title + "</td>
    <td>" + $Bug_State + "</td>
    </tr>" 

$HtmlTable += "</table>"

Спасибо, у меня есть еще одна проблема: когда одна из таблиц пуста, заголовки размещаются справа, а не внизу, я добавлю скриншот.

Bandit 05.08.2024 10:44

Привет @Meet Можете ли вы увидеть новый скриншот? когда таблица пуста, заголовки находятся справа

Bandit 05.08.2024 11:02

Кто-нибудь знает как это делать?

Bandit 05.08.2024 11:30

@Bandit, это происходит потому, что когда в таблице 2 нет содержимого, ее ширина уменьшается, и из-за этого она перемещается к следующему из первого элемента div. Нам нужно добавить свойства flex в родительский элемент div.

Meet 05.08.2024 12:16

Можете ли вы помочь с этим? я правда не знаю как это сделать и где

Bandit 05.08.2024 12:24

@Bandit Я отредактировал ответ выше, попробуйте, но я не уверен, сработает это или нет.

Meet 05.08.2024 12:29

Это изменение? минимальная ширина: 70vh

Bandit 05.08.2024 12:43

@Bandit да, это не предпочтительное решение. Лучшее и правильное решение — поместить обе таблицы внутри div и добавить display: flex и flex-direction: column. Если это возможно в вашем случае, отдайте предпочтение этому решению.

Meet 05.08.2024 13:33

Давайте продолжим обсуждение в чате.

Meet 05.08.2024 13:34

Другие вопросы по теме