In this article, we
will see how to connect an InfoPath form to Excel Web Access Web part
and pass the values from InfoPath Form fields to the Excel workbook. For
this demonstration, we will use the following - Microsoft InfoPath
Designer 2010, Microsoft Excel 2010 and Microsoft SharePoint Designer
2010
Let us start by creating an Excel workbook, as shown below:
Now as shown above in
the figure, choose the ‘Formulas’ ribbon and click on ‘Name Manager’
button. Make sure that you select the exact next cell of ‘BasicSalary’.
This will open a dialog box ‘Name Manager’. Using this dialog box, we
will name our cell. Do this exercise for all the 6 cells which are shown
above. Finally your ‘Name Manager window should look similar to the
following:
Now let’s create a
document library with the name ‘Calculations’. To create a document
library, click on the ‘Library’ link button from the left navigation
pane and then click on ‘Create’ button as shown below:
This will bring up a
‘Create’ dialog box. Choose a ‘Document’ library from the dialog box and
name it as ‘Calculations’ as shown below –
Now since our library
is ready, let’s publish our workbook to this library using ‘Excel
Services option’. To publish the document, go to ‘File’ in excel
workbook and click on ‘Save and Send’ option as shown below –
Now click on ‘Publish
Option’ button and choose a ‘Parameter’ tab. Go to the parameters tab
and click on the ‘Add’ button. Choose all the parameters as shown below –
Click ‘OK’ button. Now
choose the path of the SharePoint library (which we created few steps
back) and in the excel workbook, click on ‘Save As’ button. Paste the
URL and then hit the enter key to open that path. Now type your excel
workbook name and click on ‘Save’ button as shown below –
Designing an InfoPath form for Entering data
Now we are ready with
our excel workbook. Let’s design an InfoPath form for entering the data.
For designing the InfoPath form, let’s open ‘Microsoft InfoPath
Designer 2010’ and design a new blank form template as shown below –
In this blank template,
you will see the ‘Fields’ task pane on the right hand side. Right click
to ‘myFields’ and go to ‘Properties’ menu. Rename the ‘myFields’ group
with ‘SalaryCalci’ as shown below –
Now right click the
‘SalaryCalci’ group shown above and click on ‘Add’. This will pop up the
‘Add Field or Group’ dialog box. Write ‘BasicSalary’ in the name field
and click ‘OK’. Repeat this steps for ‘HRA’, ‘TA’ ,’DA’, ‘PF’. Sample is
shown below –
Now as the fields are
ready, let’s add a table in our form, to add the fields as ‘Textbox’ in
our InfoPath form. Go to ‘Insert’ ribbon and add ‘2-Columns’ table as
shown below and add five rows in that table –
Drag and drop each
field in front of each title, which will create a textbox for us. Now go
to ‘Home’ ribbon and from the ‘Input’ group, add a button on the form
as shown below –
Right click the button
and go to properties. Rename the button as ‘Send Data’. Now keep the
button selected and click on the ‘Add Rule’ drop button from the ‘Home’
ribbon and choose an option to ‘Submit data’ as shown below –
Now this will display
the ‘Rule Details’ dialog box. From the ‘Action’ drop down box, choose
‘Send Data to Web Part’. Now on the same dialog box, click on ‘Property
Promotion’ as shown below –
You will see the ‘Form
options’ window. Click on ‘Add’ button from the section ‘The fields
below will be available as SharePoint Web Part connection parameters’
and choose the first parameter. Set this parameter type to output.
Repeat this step for all the parameters. A sample output is shown below –
Click the ‘OK’ button.
Now save your form on the local machine and publish it to a SharePoint
site and the same document library, where we have published our excel
workbook earlier. To publish this InfoPath form, click ‘File’ tab and
click on ‘Publish’ and then click on ‘SharePoint Server’. You should see
a ‘PublishWizard’. Follow these steps:
-
In the first step of the wizard, copy the site path where we want to publish this form and click on the ‘Next’ button.
-
Now in this step, select Form Library option and check the checkbox ‘Enable this form to be filled out by using a browser’. Click on the ‘Next’ button.
-
In this step, make a choice of ‘Create a new form library’ and click on ‘Next’ button.
-
Now in this step, give a library name as ‘SalaryCalculationForm’ and click on Next. In the next step, keep all the settings default and click on next to publish the form.
Add a Web Part for InfoPath and Excel Service
Now your InfoPath form
is successfully published, the next step is to create a web page and add
web part for ‘InfoPath’ and ‘Excel Service’.
To create a new web page under your SharePoint site click on ‘Site Action’ and ‘More Options’ as shown below –
This will show you a ‘Create’ dialog box. Choose Pages and ‘Web Part’ page option and click ‘Create’ button as shown below –
Name the page as
‘SalaryCalculation’ and keep all the options as default and click on
‘Create’ button. Now let’s insert the ‘InfoPath form web part’ and
‘Excel Web Access’ web path in to web part zones as shown below:
To add the web path to
the left zone, click ‘Add a web part’ link and from categories section,
choose ‘Forms’ and from the web parts section, choose ‘InfoPath Form Web
Part’, as shown below –
Now repeat the same
step for adding ‘Excel Web Access Web part’ to the middle column zone.
This time choose 'Business Data’ from categories section and choose the
‘Excel Web Access’ web part from the web parts section.
Now your page is ready
with InfoPath form Web Part and Excel web access Web part. Let’s add the
InfoPath Template to the InfoPath Form web part and Excel workbook to
Excel Web access web part respectively.
Now click on ‘Click here to open the tool pane’ link in InfoPath form web part as shown below –
And change the web part properties as shown below –
Set the ‘List or Library’ to InfoPath forms library and choose content type ‘Form’ as shown above.
Now click on Excel web part ‘Click here to open the tool pane’ link button as shown below -
Now change the Web Part property to set the path of workbook as shown below –
Now click on ‘Stop
Editing’ button and open ‘Microsoft Office SharePoint Designer 2010’.
Open the SharePoint site in which we have created ‘Excel workbook’,
‘InfoPath form’ and ‘Web part page’.
Now click on ‘Site
Assets’ and choose the page ‘SalaryCalculation.aspx’. Right click on the
page and click on ‘Open’. Switch to ‘Design’ view. Now right click on
the ‘InfoPath Form Web Part’ and click on ‘Add Connection’ as shown
below –
This will show you a
‘Web Part Connection’ wizard. Now from the drop down list, make a choice
of ‘Send Data To’ and click on ‘Next’ button. In the next step, choose
the option ‘Connect to a Web Part on this page’ and click on the ‘Next’
Button.
Now choose the Target
web part as ‘Excel Web Access’ web part and Target action as ‘Get values
for Multiple Parameters From’ and click on the ‘Next’ button.
In this next step, map
the InfoPath form fields to Excel parameters as shown below and click
‘Next’ button and ‘Finish’ the wizard.
Let’s save our changes
and test our steps in our SharePoint site. Enter the values in our
InfoPath form textboxes and click on the ‘Send Data’ button. These
values will now be sent to the Excel web access web part and the Excel
workbook will perform the calculation and displays the result as shown
below –
Summary
– In this article, we have seen how to design an InfoPath form and
Excel workbook with parameters. We have also seen how to add an InfoPath
form into ‘InfoPath form Web part’ and add Excel workbook to ‘Excel Web
Access web part’ and connect these two web parts using Microsoft Office
SharePoint Designer 2010.
No comments:
Post a Comment