cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ThomasH
Helper III
Helper III

Format time in HTML table

Hello, I am having an HTML table created with a date, but I would like the date to be formatted differently so that it is displayed in German format as DD-MM-YYYY, how can I achieve this. In addition, if the date is greater than the current date, I would like it to be colored or highlighted in red, how could I implement this? Thanks

 

ThomasH_0-1662623705723.png

 

26 REPLIES 26
v-chengfen-msft
Microsoft
Microsoft

Hi @ThomasH , 

Use this to initialize a JSON object where you will store CSS style.

 

vchengfenmsft_2-1662717744746.jpeg

vchengfenmsft_41-1662718713098.png

 

vchengfenmsft_3-1662717744754.jpeg

vchengfenmsft_4-1662717744757.jpeg

 

Best Regards

Cheng Feng

ThomasH
Helper III
Helper III

Hi @v-chengfen-msft  

thank you for your examples, i'm not sure how a have to at this. Mit Flow like this.

ThomasH_0-1662993155689.png

 

On which point i have to input your code?


I once tried to take over the table form from you, unfortunately the code on the screenshot is difficult to read , so I'm not sure is this Code right!?

 

 

{
"tableStyle": "style=\"border-collapse: collapse:\"",
"headerStyle": "style=\"font-family: Helvetica: padding 5px: border: 1px solid black:\"",
"cellStyle": "style=\"font-family: Calibri: padding: 5px: boarder: 1px solid black:\"",
"rowStyleHighValues": "style=\"font-size: 110%: background-color:#ff9c33\"",
"rowStyleLowValues": "style=\"background-color:#fcff33:\""
}

 

 

Is the flow right up to here?

ThomasH_2-1662994828629.png

 

ThomasH_3-1662994837219.png

 

Thank you

Paulie78
Super User
Super User

Just change this part in your select action to an expression:

ThomasH_0-1662993155689.png

You will need to replace the utcnow() that I used with your dynamic content called Datum und Uh...

 

so in your case it will be something like item()['Datum und Uh'] - Obviously I cannot see the rest of the field name, but hopefully you get the idea.

 

Blog: tachytelic.net

YouTube: https://www.youtube.com/c/PaulieM/videos

If I answered your question, please accept it as a solution 😘

ThomasH
Helper III
Helper III

Hi @Paulie78  i have tryed this 

formatDateTime(item()['dueDateTime'],'dd-MM-yyyy')

ThomasH_0-1663046398291.png

 

 

but than i become this error

The execution of template action 'Select' failed: The evaluation of 'query' action 'where' expression '{
  "Title": "@item()?['title']",
  "Bearbeitungsstatus": "@item()?['percentComplete']",
  "Fällig": "@formatDateTime(item()['dueDateTime'],'dd-MM-yyyy')",
  "Startzeit": "@item()?['startDateTime']",
  "Status": "@item()?['percentComplete']"
}' failed: 'The template language expression 'formatDateTime(item()['dueDateTime'],'dd-MM-yyyy')' cannot be evaluated because property 'dueDateTime' doesn't exist, available properties are '@odata.etag, planId, bucketId, title, orderHint, assigneePriority, percentComplete, startDateTime, createdDateTime, hasDescription, previewType, referenceCount, checklistItemCount, activeChecklistItemCount, priority, id, createdBy, appliedCategories, assignments, _assignments'. Please see https://aka.ms/logicexpressions for usage details.'.

 

The "select" "Datum/Uhrzeit....." has this value

item()?['dueDateTime']

ThomasH_1-1663046503586.png

 

Thank you

v-chengfen-msft
Microsoft
Microsoft

Hi @ThomasH ,

I've made a test for your reference:

1.png

2.png

3.png

4.png

5.png

6.png

7.png

Here is a link for your reference:

https://alextofan.com/2019/02/14/flow-how-to-change-the-style-of-your-html-table-in-flow/

 

Best Regards

Cheng Feng

 

 

Try this expression instead:

if(equals(item()?['dueDateTime'], null), '', formatDateTime(item()?['dueDateTime'],'dd-MM-yyyy'))

@Paulie78 

Thank you very much, that works great, now i want to Fix my second "problem"  

 if the date is greater than the current date, I would like it to be colored or highlighted in red

 

Hi @v-chengfen-msft , sorry for another question, what i have to write in at this point under "value"?

ThomasH_0-1663331427287.png

 

Can i use there the "Wert" value like this way?

ThomasH_1-1663331482839.png

 

Thank you very much for your help.

 

You would need to change your expression to something like this:

if
(
  greater(if(equals(item()?['dueDateTime'], null), '', formatDateTime(item()?['dueDateTime'],'dd-MM-yyyy')), utcNow()), 
  concat('<span style="color:red">', item()['dueDateTime'], '</span>'), item()['dueDateTime'],
  if(equals(item()?['dueDateTime'], null), '', formatDateTime(item()?['dueDateTime'],'dd-MM-yyyy'))
)

You will notice after doing so that your table does not render properly, this is because the create HTML action table escapes the HTML that we created with the expression. So you need to add another compose step after the Create HTML Table action like this:

unescape.png

And that would contain this expression:

replace(replace(replace(body('Create_HTML_table'), '&lt;', '<'), '&quot;', '"'), '&gt;', '>')

Then you would use the output of that step in your email action.

 

Blog: tachytelic.net

YouTube: https://www.youtube.com/c/PaulieM/videos

If I answered your question, please accept it as a solution 😘

 

Hi @v-chengfen-msft ,

I've now recreated it as it is described in your pictures. But apparently I made a mistake somewhere, because the test fails.

ThomasH_1-1663575046356.png

 

ThomasH_2-1663575065565.png

 

 

What is my mistake?

 

Thank you

 

 

 

 

 

Hi @Paulie78  you mean i have to change the "Filter Arry" with your code? Is this right?

ThomasH_3-1663577853204.png

 

Here i become a fault

ThomasH_4-1663578292674.png

 

 

Then i have to create the HTML Table my "Select? 

 

 

No, you need to change the expression within the Create HTML Table action. As per the screenshot I provided.

Hi @ThomasH ,

Sorry for the late reply!

Maybe not directly usable, you should get the values you need from it to form an array.

 

Best Regards

Cheng Feng

Hi @ThomasH ,

Please try:

vchengfenmsft_0-1663754114300.png

 

 

Best Regards

Cheng Feng

Hello @Paulie78 , I'm not sure if I understand you correctly. Tried it now, but unfortunately not successful.

ThomasH_0-1664279922827.png

 

ThomasH_1-1664279985535.png

 

 

I become this error

 


@Paulie78 wrote:

No, you need to change the expression within the Create HTML Table action. As per the screenshot I provided.


The execution of template action 'HTML-Tabelle_erstellen' failed. The column values could not be evaluated: 'The template language function 'if' expects three parameter: the condition to test as the first parameter, the value to return if the condition is true as the second parameter, and the value to return if the condition is false as the third parameter. The function was invoked with '4' parameter(s). Please see https://aka.ms/logicexpressions#if for usage details.'.

 

ThomasH_2-1664280238429.png

 

Hi @v-chengfen-msft , i try this

ThomasH_3-1664280710818.png

 

But i have still a error

ThomasH_4-1664280879205.png.

 

Unable to process template language expressions in action 'Verfassen' inputs at line '0' and column '0': 'The template language function 'formatDateTime' expects its first parameter to be of type string. The provided value is of type 'Null'. Please see https://aka.ms/logicexpressions#formatdatetime for usage details.'

ThomasH_5-1664280956778.png

 

I don't know what i have to do.

Show me the expression you used and I will correct it for you.

I think the expression I gave you was incorrect. Try this instead:

if
(
  greater(if(equals(item()?['dueDateTime'], null), '', formatDateTime(item()?['dueDateTime'],'dd-MM-yyyy')), utcNow()), 
  concat('<span style="color:red">', item()['dueDateTime'], '</span>', item()['dueDateTime']),
  if(equals(item()?['dueDateTime'], null), '', formatDateTime(item()?['dueDateTime'],'dd-MM-yyyy'))
)

Hi 

@Paulie78 , Thank you very much, this seems better, but now the Email is not correct.

ThomasH_0-1664301866868.png

 

 

The Flow shows this

ThomasH_1-1664302096637.pngThomasH_2-1664302115447.png

 

 

 

I think i have a to do in the Outlook "Text" or what can be the Problem?

 

 

<html>
<head>
  <style> 
table, th {
    border:1px solid black;        
}
td {
    border:1px solid black;
    text-align:left;
    width:20%;
}
  </style>
</head>
<body>
@{body('HTML-Tabelle_erstellen')}<br>
<strong>Bearbeitungsstatus:<br>
0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=Nicht begonnen<br>
50 &nbsp;&nbsp;&nbsp;=in Bearbeitung</strong><br>
<strong>100 = Abgeschlossen</strong><br>
</body>
</html>

 

 

ThomasH_0-1664302299117.png

 

 

Tank you

Helpful resources

Announcements
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Community Calls Conversations

Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (4,091)