I have an excel table that I want to feed into a Sharepoint list.
I am succesful uploading all string data onto sharepoint, but I'm having errors with the dates (Status:400). I believe flow does not know what to do when excel returns an integer DATEVALUE instead of a date like DD/MM/YYYY.
The only workaround I've found so far is to format the date column as text instead of date in excel. This isn't really the solution I'm after, as some of the dates are automatically calculated in excel. Is there another way to get around this issue?
Solved! Go to Solution.
Hi @RobinV86 ,
You could use the Expression to restore Date.
For example, Excel table has a field named Du Date, and the type is Date. In Flow, we can use the following method to convert it as Date.
Expression reference:
addDays('1899-12-31',int(item()['Due Date']),'yyyy-MM-dd')
Please take a try.
Best Regards,
I've found a sloppy workaround which is to add a column in excel which basically converts the date into a viable format
=TEXT([@[Start Date]], "MM/DD/YYYY")
I'd rather do this in flow though...
Hi @RobinV86 ,
You could use the Expression to restore Date.
For example, Excel table has a field named Du Date, and the type is Date. In Flow, we can use the following method to convert it as Date.
Expression reference:
addDays('1899-12-31',int(item()['Due Date']),'yyyy-MM-dd')
Please take a try.
Best Regards,
This looks very promising.
Where in the flow would this step be taken? This is what my flow looks like right now:
Hi @RobinV86 ,
Configure Expression in External Start Date field, but the second parameter needs to be determined based on Dynamic content you currently populate.
Please see how this field is displayed in Body of List rows present in a table action, and then replace Due Date in Expression I provided.
Regards,
Got it to work. The Compose action is the first item in the "apply to each" section now. Thanks so much; this forum is really great. Awesome!
Could there be a time zone issue at play here too? All the dates are literally 1 day later as they are being pulled through.
Hi @RobinV86 ,
My mistake, please change"1899-12-31" to "1899-12-30".
Please try again.
Best Regards,
Is there a way to modify the code so it doesn't throw an error when the excel field is empty (i.e. a date is not yet entered)?
Thanks again this is so helpful. I'm completely new at flow and under some pressure to deliver a project.
Hi @RobinV86 ,
You can consider using if() function to exclude null values.
If the value of this field is null, then null is filled in the item; if it is not empty, the previous expression is used.
Like:
if(empty(item()['Due Date']),null,addDays('1899-12-30',int(item()['Due Date']),'yyyy-MM-dd'))
Best Regards,
Thank you.
You just saved the nearest wall from having a forehead shaped hole in it.
Thanks to your solution, I could solve my time serial value problem.
I also want to get Time from date.
I want to make Flow which update to SharepointList from data I get in Excel(Bussiness).
In Excel(Business) I have time with format as below.
@v-bacao-msft @RobinV86 and rest of the community.
Hi there, I have read this thread and I think I am having similar issues with the Start Date Time and Due Date Time but instead when trying to create a Planner Task from Excel using Flow. The work flow works fine if I leave the Start Date Time and Due Date Time fields blank. However as soon as I use dynamic content for these I get the following error message:
addDays('1899-12-30',int(item()['Task Due Date']),'yyyy-MM-dd')
Hi @v-bacao-msft @RobinV86 , I am really sorry, but I don't understand this part.
"Please see how this field is displayed in Body of List rows present in a table action, and then replace Due Date in Expression I provided."
May I know where can I find the Body? Is it still available in the latest version of Flow? I can only see it inside the error window, but it's non-editable. My first time building Flow and encountered errors quite a few times. Your soonest response is highly appreciated and thank you so much.
Regards,
Nawi
hello! can you post a screenshot of how you set up the COMPOSE action?
I'm getting this 5 digits before the date. Would you know why?
The dates have the integer value and the correct format altogether, would you know why it appears like this?
Hi All,
@v-bacao-msft shared works great but I found the start date in the addDays() function should be Dec 30 1899 in order to return the date from excel in [List rows present in table].
*Update [
This can work directly in the [Execute Stored Procedure] - I also added equals() function to check for NULL
if(equals(items('Apply_to_each_2')?['Termination Date'], ''), '', addDays('1899-12-30', int(items('Apply_to_each_2')?['Termination Date']), 'MM-dd-yyyy'))
]
Let me explain, because I have been stumped for a while now trying to figure out why the Power Automate converts the date to a five digit number, but from this thread it is clear now. That 5 digit number is how many days from the beginning if time in Excel concepts 12/30/1899. So what @v-bacao-msft is sharing is to use addDate() function to bring back the date using the number that is generated in the [List rows present in table] object.
So I tried adding the addDate() directly to the [Execute Stored Procedure] object but it bawked at me something about int conversion. So using this method works beautifully and then reference the [Compose] Output instead of the Excel date output. I have 4 dates I need to reference so I renamed the [Compose] objects to the data field name for easy reference
Hi, i didnt understand where was the Compose action placed, can you provide a screenshot to see how it works? Thanks.
User | Count |
---|---|
89 | |
41 | |
22 | |
20 | |
16 |
User | Count |
---|---|
138 | |
56 | |
47 | |
36 | |
25 |