Data from SharePoint Infopath forms to excel spreadsheet - excel

I have a SharePoint library having 850 odd infopath forms. I need to export data from all these forms to an excel spreadsheet. Is there any optimized way of doing it without using any utility?

No, not without using any utility.

I've done this very successfully using Microsoft Access. The exact steps will depend on how the XML data is formed in InfoPath, but I've done it with both "flat" InfoPath form data as well as InfoPath forms that contain repeating tables. Basically, I map the SharePoint library as a drive letter on my computer, then an Access app iterates through all the InfoPath forms, imports it, and populates tables. From there, if needed, I further tune the data using Access queries and then push the finished data to another Access database that stores the table(s). Finally, I have one or more Excel workbooks -- with pretty pivot tables and charts etc -- that pull their data from the table(s).
At one of my clients, they use this tool I built for them to import and report on about 800 safety reports created in InfoPath every month. Very slick.

Related

How to update sharepoint online list data via excel

my client has a requirement that he should be able to update the sharepoint list data from Excel sheet but in Sharepoint only one way data sync. is possible (we can import the data in excel but we can not update sharepoint list via excel).
Try this instead - if SharePoint list data is below the threshold limit of 5000 records, then perhaps you can use datasheet view of list

Link a sharepoint with an excel spreadsheet

I have an excel spreadsheet with multiple sheets. I'm trying to create a sharepoint list for each sheet and when the excel spreadsheet is updated, the sharepoint is updated.
It looks like you can link an access database with sharepoint but I'm struggling to find a guide to link a sharepoint with an excel.
it isn't possible to modify a spreadsheet and have it update SharePoint, you can only update the spreadsheet with changes from SharePoint.
From reading the MS documentation found at https://support.office.com/en-us/article/Synchronize-a-SharePoint-list-with-a-spreadsheet-program-d4337a01-2be4-43b5-bb42-28aefe64eafd
There are three ways to synchronize data between a SharePoint list and
a spreadsheet program. Whichever way you choose, this synchronization
is one-way, or unidirectional. Changes made in the SharePoint list can
be updated in the spreadsheet program, but any changes that you make
in the spreadsheet program are not written to the SharePoint list.
It seems that the best you can do is to update SharePoint by creating a new list, but that probably isn't going to help you unless you can somehow use the new list to replace the old one.
As you state, you can do a bi-directional synch from Access, and this is confirmed by the MS documentation https://support.office.com/en-us/article/Synchronize-a-SharePoint-2010-list-with-Access-2010-975BFB97-C799-4FCE-B7CC-3DB3B397F116
There are three ways to synchronize data between a SharePoint list and
Access 2010. Whichever way you choose, this synchronization is
two-way, or bi-directional.
This is possible with MS Flow, though it requires a bit of effort. You can then trigger the flow based off any conditions you want (Excel doc saved, once a day, etc)
Instructions can be found here: https://powerusers.microsoft.com/t5/Building-Flows/Update-Sharepoint-List-From-Excel-File/td-p/111477

Creating a Sharepoint Report

I work for a fairly large hospital in their Decision Support Department. We have several tools at our disposal for querying data, but our way of distributing the information could use some work.
We typically run our query and then copy and paste the data into Excel. From there we create graphs and crunch some numbers before sending the Excel file out via email.
We've recently been given access to our own Sharepoint site and so far it looks promising for document distribution. What I'm wondering though is this; what kind of functionality is built into Sharepoint for building reports that run automatically.
It would be great to take a whack of our monthly query to Excel reports and set them up to run automatically via Sharepoint.
I did some reading about Sharepoint lists and that seems promising, but I thought I'd ask here for the best way to go about this - provided it's even possible.
I guess a good first step would be how to create a report in Sharepoint?
I'm going to assume you're using Sharepoint 2013 and Office 2013.
You have a couple options available to you with Excel and Access. Both methods I'll briefly describe can be automated. In either case, you will need Lists, as they can connect to Excel and Access as tables.
For the Excel route, simply choose the "Export to Excel" option in a SharePoint list. This will create an Excel version of your list, but it's more than a static workbook--that workbook retains a one-way link from SharePoint to Excel, so you can refresh the spreadsheet to reflect the most up-to-date version of your SharePoint list. Furthermore, you can link multiple Lists to a single workbook--you'll have to export each list to Excel individually, but each worksheet will still retain its link to its respective list after you consolidate the spreadsheets into a single workbook. You can save this workbook wherever you like, it'll still keep the link. I personally like to set my linked workbooks up with macros that automatically refresh the spreadsheet whenever file is opened, but that's just me. The reason you might consider this option would be to avoid having to recreate the work of creating graphs and whatever other analytics you're doing--you may well be able to set yourself up such that the graphs and analytics pull live from the table that's coming in from SharePoint.
*Do note that changes you make to list data in Excel isn't sent back to SharePoint--this is done to protect your list.
For the the Access route, you can import a list into Access as a table. This option creates a dynamic link to your SharePoint list the same way the Excel option does--the link is one-way and what you do in Access won't be sent back to SharePoint. You can create queries and reports as you normally would after the table is imported.

Is it possible to use MS Excel as front and back-end for MS Access?

in a few words, I would like to use MS Excel together with MS Access, such that Excel is the front and backend, but Access provides the capability for relations between data and sql queries. Is that possible?
In a few words more, I would like to use MS Excel together with MS Access such that :
the 'raw data' is visible and accessible from Excel ((write, modify, delete data entries!)
I can use SQL queries to query my data via MS Access (and hence dynamically create different views on my data as excel sheets)
I can implement relations between the data via MS Access (for consistency checks, etc)
My own research got me here:
I know how to set up access to use an excel table as its data backend (both, linked to or copied from excel)
I know how to send SQL queries from Excel to an access database and display the results in excel sheets
However, here is what's missing:
in Access if I use tables that are linked to Excel, I cannot create relations between tables (access says it's not possible)
in Access if I use tables that are imported (copied) from Excel, I can create relations between tables, but after creating relations I cannot update my import anymore (access says it's not possible, I'd have to remove the relations before)
In any case I have to trigger updates manually ...
Background:
Excel is currently used for project management. The management process often involves 'exploring the data', e.g. assigning people different projects, adding people, adding projects, ... and then seeing how that affects other things. (Hence) it is required that Excel is kept as the platform. But it would be nice to have database feature like linked tables and queries, as data is getting too complex to manage with excel only tools. Also, this is not a large project, but I'm aiming for an easy and not complex solution.
Basically I want to keep excel and everything, I'd simply like some new features (e.g. relating tables, sql-like queries).
So, does anybody have an idea how to go about this?
Thanks a lot!
I have been using a lot Excel as Front-end and Access as Back-end.
Typically, my solutions involve UserForms or ActiveX Objects in Excel Sheets that manipulate and show data that is stored in an Access database. The Excel file and Access file are completely independent, which allows you to create and alter relationships in Access without restrictions. Just make sure you update your queries in Excel. There are even some cases that I use more than one Workbook to access the same Access database.
I make Excel communicate with Access via Excel VBA, using the ADODB. A quick Google search got me to this tutorial.
Cheers,
Tiago

Edit Excel table data in SharePoint using forms

I have an Excel table with data but here the rows and columns each have meaning, for example:
ColHead1 ColHead2 ColHead3
RowHead1 Data11 Data12 Data13
RowHead2 Data21 etc. etc.
RowHead3
I would like users to edit the data using SharePoint forms.
I've considered the following options
Flatten the data and manually add editors for each field onto the form (so that I can simulate some sort of grid layout). This may become unmanageable if I need to make a change though.
Insert the data into a list and let SharePoint create a default form, but this will also flatten the data.
Is it possible to somehow use the data in SharePoint directly in a List (or lists) without flattening?
Or should I just post the Excel sheets for direct editing in SharePoint?
You are right. 2-D data cannot be handled by SharePoint.
The best solution here would be to use Excel Services.
In 2007, Excel Services did not allow to write changes to backend file. I am not sure if the situation has changed with SharePoint 2010. You might have to check it out.
You can also put Excel file in document library itself.
However, what I am missing here are the business objectives for this requirement. What essentially do you want to achieve by putting this data in SharePoint forms ? May be there is some better way which others will be able to suggest if they know actual requirements.

Resources