@RandyHayesThanks, this is good point - I will try to make the SP list and connect Excel to make data update easier.
My question is still valid - what is proper ExcelOnline usage scenario?
Seems the usage for that is more toward creating an Excel file and filling it in, not so much for consuming the data and using it.
Although technically, you could use the "Get" functions to pull in the data and put in collections to work with.
But, it's not really a data connector in the sense of it being a datasource.
At least that's my take on it.
Well, I do not need an Excel as a datasource. I just look for an easy to manage list of some attributes to show when user is opening a PowerApp to make sure user can choose only values proper for the user.
There are couple of hundreds of users, so something more useful than SP list would be appreciated - in our case Excel file would be preferred as a tool to keep and maintain the list. This would give ca 300 records in the table. Small enough to forget about regular database table, big enough to look for something more convenient than SP list.
The scenario I was considering was:
1. Put list of registered users with attributes into Excel file table located in SP folder.
2. Upon opening of PowerApp read a list of attributes filtered by user name (using ExcelOnline) and show them on form to choose from.
3. Save a record to another SP list (already done) with other data and with attachment.
Now it seems that I cannot do the step 1 and 2 and i do not see other flexible possibility to do it. Putting list of attributes into application as constant is not an option as user names and attributes are slowly, but constantly changing.
Any other thoughts?
BTW - I have defined a collection (as you suggested) and used ExcelOnline to add datasource (this is how it is called in documention). Actually durng definition i should be asked to point to a file and table, which has not happen. When I use OnSelect action of dropdown to read values Collect(AttribCol, ...) there is nothing to show as a second parameter (there should be a column name from Excel file table available). Am I wrong?
So, I contend that SP is going to be your better alternative for this over Excel.
You are (based on your statement that you want to get attribute information out of the Excel file) still going to be using that Excel file as a DataSource.
Yes, you could go about using the Excel Online connector -But you will have challenges. First, it's not going to ask you for the file like you think (that would be the regular Excel data source), you will have to specify the file location on your call to the functions of that connector. Then, you will have to do all the groundwork to pull the tables, rows, or whatever else you want into a collection or other statement. Then you are going to have to work with what that returns. ALSO - keep in mind - the Excel Online connector is a Premium connector. All of you users of that App will need the appropriate Licenses to use it.
So, let's say that's not a good way...next choice is Excel as a datasource from your OneDrive. We've already discussed that part as being an option, but has the disadvantage of "Your OneDrive" and the sharing involved. But, it's at least a full workable datasource and everything is all ready for you. And, there is no premium license issue.
So, let's say that's not a good way...next chioce is SharePoint as a datasource. Easily sharable. Easy to maintain. Easy to customize. PowerApps eats it up for a DataSource. And, no premium license needed.
Also, since you mention Users being stored in the Excel file. With Excel that is a manual process. With SP, you can easily have a People Column and that work is done for you.
I do this concept of having options, attributes, special operating parameters, etc. per user, just as you mention...In my case, it's always SharePoint as the go-to. No hassle with Excel. No SQL needed. Create List, fill with info, connect to PowerApps...done.
Hope this helps shed some more thought.
I have the same problem as AndrzejSU but it seems that I can't avoid an Excel file. Why? I have an app that is an "interface" for a quite big Sharepoint list (task list) + some other datasources (also Sharepoint lists). Now - tasks on my lists are sometimes dependant on some other task list maintained in another application (not a Power App or any MS application) which for sure cannot be linked to Power Apps as the datasource. The only way I can do it is to make an automatic export to Excel from "the other app" and then link it in Power Apps (I just nead read access to Excel file). So:
- Sharepoint list is not an option because I cannot export from "the other app" to sharepoint list, the only reasonable option is an Excel file
- Some solution is a file on OneDrive but is has some serious consequences:
- it's user dependant and this is something I hate in application, any change of the "owner" will require change in application
- user list for my app is 100+ and it's global so it's really difficult to maintain for a single person, I now have a few co-owners who help manage users but if the file will be on my OneDrive I think I'll be the only one who may give/remove an access and it will be a serious bottleneck
Really there's no other way of doing that? I admit this is my fault I didn't check that before but I assumed there's no way that such a basic funcionality doesn't work :/
the solution I have come up is to keep excel file on SP as planned. I cannot avoid it.
ExcelOnlineBusiness works well in Flow, I decided to prepare additional SP list and export values to SP list each time it is required by PowerApp. My excel list is not big - ca 300 records, 4 columns, so it does not take long to do the export (using Flow triggered by PowerApp, where ExcelOnlineBusiness works with no problem on excel file on SP). I also do not need all of records for each user, but only 1 to 5 (per user). Then I can consume required attributes directly from SP list in PowerApp (drop down). Not as simple I would like to have, but seems to work.
@AndrzejSU : so just to make sure I understand - please confirm this is correct:
Is that correct? Quite complicated but it would solve my problem and it looks like automatic process (I would just need to keep my Excel file updated).