cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
PowerAppUser87
Level: Powered On

Manipulating Flow Excel Date

Hello,

 

I have an excel table that I want to use to populate a Journal through flow.

 

The excel table looks like this: The column is formatted to the Date Format:

Flow Pic 1.png

 

When Flow Picks up the table (List Rows Present in a Table Action) it is reading this date as a String:

Flow Pic 2.png

 

I have tried all sorts of conversions that I can think of but it just doesn't like my string! Does anyone have any idea how I can convert the 43710 to dd/MM/yyyy?

 

Thankyou fo

1 ACCEPTED SOLUTION

Accepted Solutions
manuelstgomes
Level 10

Re: Manipulating Flow Excel Date

Hi @PowerAppUser87 

 

Excel stores internally the dates as sequential serial numbers starting from January 1, 1900, to enable calculations. 

 

So you need to define a date for January 1, 1900, and add the value returned by Excel. Notice that that value is serial number 1 so you need to take two days in the final calculation. Why 2? The first is because the count starts at one and not zero, so you need to take that number off; otherwise, you'll. The other one is a little bit more tricky. For some reason, if you only subtract one, it will display the next day. 

 

Here's a structure of steps.. You can do them all in the "compose" action with formula, but I wanted to show each step.

 

small-Screenshot 2019-09-20 at 09.09.42.png

 

First, the date is a string, so we need to convert it into an int.

 

 

int(body('Get_a_row')?['Date'])

Then take the two days off

 

 

And finally, add the days.

 

addDays('01/01/1900',variables('Date'),'dd/MM/yyyy')

 

 

With this, you'll get a date that you can use

 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Cheers
Manuel

 

View solution in original post

1 REPLY 1
manuelstgomes
Level 10

Re: Manipulating Flow Excel Date

Hi @PowerAppUser87 

 

Excel stores internally the dates as sequential serial numbers starting from January 1, 1900, to enable calculations. 

 

So you need to define a date for January 1, 1900, and add the value returned by Excel. Notice that that value is serial number 1 so you need to take two days in the final calculation. Why 2? The first is because the count starts at one and not zero, so you need to take that number off; otherwise, you'll. The other one is a little bit more tricky. For some reason, if you only subtract one, it will display the next day. 

 

Here's a structure of steps.. You can do them all in the "compose" action with formula, but I wanted to show each step.

 

small-Screenshot 2019-09-20 at 09.09.42.png

 

First, the date is a string, so we need to convert it into an int.

 

 

int(body('Get_a_row')?['Date'])

Then take the two days off

 

 

And finally, add the days.

 

addDays('01/01/1900',variables('Date'),'dd/MM/yyyy')

 

 

With this, you'll get a date that you can use

 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Cheers
Manuel

 

View solution in original post

Helpful resources

Announcements
thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

firstImage

Incoming: New and improved badges!

We've given our badges an overhaul and also added some brand new ones!

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

sixthImage

Power Platform World Tour

Find out where you can attend!

seventhimage

Webinars & Video Gallery

Watch & learn from the Power Automate Community Video Gallery!

Top Kudoed Authors (Last 30 Days)
Users online (4,649)