Циклический просмотр данных Excel с PowerShell с дублирующимся столбцом - PullRequest
0 голосов
/ 30 октября 2019

У меня есть лист Excel, который выглядит следующим образом

Name   actiontime  actiommessage

Tim  23:45 purchased goods

Tim  22:56 had dinner

Tim  20:56 watched movie

John 15:52 get out of bed

John 07:56 went to sleep

Мне нужно разделить данные, подобные этим

Tim 23:45 purchased goods

Tim 22:56 had dinner

Tim 20:56 watched movie


----------


John 15:52 get out of bed

John 07:56 went to sleep

, в отдельную таблицу HTML для каждого действия пользователя и вставить впочта Outlook с использованием PowerShell.

Как я могу разделить данные таким образом?

1 Ответ

0 голосов
/ 30 октября 2019

Для разделения данных я предлагаю вам

  1. сохранить лист Excel как CSV, что значительно упрощает его использование в PowerShell
  2. , с использованием Group-Object *Командлет 1007 * для группировки данных в свойстве Name
  3. используйте командлет ConvertTo-Html для вывода таблицы HTML для каждого найденного имени.

Что-то вродеthis:

$userTables = Import-Csv D:\blah.csv | Group-Object Name | ForEach-Object {
    $_.Group | ConvertTo-Html -Fragment
}
# add the tables to the html body of your email.

# for now, just display in the console:
$userTables

Будет выведен готовый для использования HTML, например:

<table>
<colgroup><col/><col/><col/></colgroup>
<tr><th>Name</th><th>actiontime</th><th>actiommessage</th></tr>
<tr><td>Tim</td><td>23:45</td><td>purchased goods</td></tr>
<tr><td>Tim</td><td>22:56</td><td>had dinner</td></tr>
<tr><td>Tim</td><td>20:56 watched movie</td><td></td></tr>
</table>
<table>
<colgroup><col/><col/><col/></colgroup>
<tr><th>Name</th><th>actiontime</th><th>actiommessage</th></tr>
<tr><td>John</td><td>15:52</td><td>get out of bed</td></tr>
<tr><td>John</td><td>07:56</td><td>went to sleep</td></tr>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...