Tag Archive | "excel"

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

Data in the cloud! DataMarket Add-In for Excel and Excel Services

Posted on 20 September 2011 by

There are some exciting things happening around Microsoft cloud services. One of the services is Windows Azure marketplace DataMarket, a cloud service that helps end users who need data for business analysis and decision making. You can conveniently consume the data you subscribe to directly in such Microsoft Office applications as Microsoft Excel 2010 and Microsoft business intelligence tools as PowerPivot and SQL Server Reporting Services. Then you can share the reports and visualization you create in SharePoint. To learn more, see the DataMarket_Whitepaper.

There are some end-to-end scenarios where Office draws data from the cloud through DataMaket, then shares it in SharePoint Server 2010 through Excel Services and perhaps from there to a PerformancePoint Services dashboard. The following diagram is a specific scenario where data is drawn from the DataMarket, then saved to your desktop, then shared on SharePoint Server 2010 through Excel Services.

Note: Office365 is included in the image only to give the big picture, in that there are three major offerings and DataMarket is a result of what is offered in Windows Azure and SQL Azure.

This post highlights the DataMarket Add-In for Excel, which is a free application that allows discovering and importing data from Windows Azure Marketplace DataMarket into Microsoft Office Excel. I also give a brief description of each cloud offering.

DataMarket Add-In for Excel (how it works)

The DataMarket Add-in for Excel (CTP1) gives you a simple experience allowing you to discover datasets published on the Windows Azure Marketplace DataMarket. You can browse and search for a rich set of datasets from content publishers within a tool you’re already familiar with, Excel. Here is how:

1. Download the add-in here, open the folder (or save to your machine), and double-click the Windows Installer Package.

Note: You may be asked to download Microsoft .NET Framework 4.0 Client Profile. The 4.0 framework installs the WCF Data Services, which is a component of the .NET Framework that enables you to create REST-based services and applications that use the Open Data Protocol (OData) to expose and consume data over the Web.

2. Open Excel and click the Data tab to see that the add-in was installed as extension to Excel. You should see a button named Import data from DataMarket in the Excel ribbon, as follows:

3. Click the Import data from DataMarket button. The sign-in dialog box opens:

This dialog box introduces the DataMarket and lets you:

  • Browse the marketplace: Clicking this link opens a new browser window where you can browse the datasets exposed by the DataMarket.
  • Sign up for DataMarket: Opens the browser with the sign-up page for the DataMarket. Signing up is free!
  • Privacy statement: Opens the browser showing the privacy statement for this add-in.

The main purpose of this dialog box is to help you sign in to your list of subscribed datasets. To sign in, you need to provide an account key. An account key is your password to access all the datasets in the DataMarket and it can be found at https://datamarket.azure.com/account/keys. Because the account key is your password (tied to your DataMarket account), you need to sign up with the DataMarket to get access to it.

Copy the account key from the account key page (https://datamarket.azure.com/account/keys) and paste it into the Account key field. Additionally, you can specify whether the account key is being saved for further use by checking the Remember my account key check box.

If you have signed up, copy your account key and click Sign-In to load your subscribed datasets.

The following screeshot shows the three datasets I signed up for. Some datasets, such as STATS, charge a fee. Other datasets are free but may have limitations on the data you can view. For example, Zillow gives you 3,000 transaction per month for free. The other data providers offer a various number of transactions.

 

For next steps see:

Excel Services overview (SharePoint Server 2010)

Publish a workbook to Excel Services

 


Read More

Comments Off

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

How do you create a macro to only refresh certain sheets in an Excel workbook?

Posted on 03 August 2011 by Tony

I have some external references to a Sharepoint list. There are certain sheets that have these connections that must be refreshed on the press of a button.

How can I only refresh certain sheets?! Please help
Can I refresh the sheets one at a time in the command…?

Something like ActiveWorkbook.Refresh.Sheets(“SheetA”) ???

I’m creating a button to refresh specific worksheets and their connections. So it could be multiple lines of code to refresh one worksheet. Please help!

Chosen Answer:

Given that the only available commands are either

activeworkbook.refreshall

or

workbooks(index).refreshall

it seems you can’t directly.

Reading around it looks like you can’t refresh when sheets are protected.

It may be a lot of hassle, but I suppose you could have each sheet linked to a separate workbook and you only refresh those you want to refresh.
by: flyingtiggeruk
on: 5th August 11

Comments (1)

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

Country and Region Term Set for SharePoint

Posted on 07 May 2011 by Tony

Body:

​I thought I would share a term set that I have created using Wictor Wilén’s Excel Macro Template.

It is a list of countries grouped by region. The USA is a region to allow for the selection of states without this causing a 3rd level (silly decision on my part but I’m not going to change it at this stage). The regions are able to be selected as terms but you could set this to false for each region before importing.

Download…

Published: 28/04/2011 4:22 p.m.


Read More

Comments Off

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

MOSS export list SSL issue

Posted on 07 April 2011 by

Problem: I can’t export a list to a excel spreadsheet file from a SharePoint 2007/WSS3.0 site is using SSL.  SP2010 exports https lists correctly. 
Initial Hypothesis: File is being exported however, when opening the *.iqy file, the error “Excel cannot connect to the SharePoint list.” pops up. 

Resolution: This is a bug with 2 workarounds,

  • Option1: From excel connect to the list. or
  • Option 2: Save the *.iqy file, open it using notepad, chnage the url to use https instead of http (it occurs twice in the iqy file.

Read More

Comments Off

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

Building Integrated Business Intelligence Solutions with SQL Server 2008 R2 & Office 2010

Posted on 06 April 2011 by Tony

Master Microsoft’s Business Intelligence Tools

Building Integrated Business Intelligence Solutions with SQL Server 2008 R2 & Office 2010 explains how to take full advantage of Microsoft’s collaborative business intelligence (BI) tools. A variety of powerful, flexible technologies are covered, including SQL Server Analysis Services (SSAS), Excel, Excel Services, PowerPivot, SQL Server Integration Services (SSIS), Server Reporting Services (SSRS), SharePoint Server 2010, PerformancePoint Services, and Master Data Services. This practical guide focuses on deveoloping end-to-end BI solutions that foster informed decision making.

  • Create a multidimensional store for aggregating business data with SSAS
  • Maximize the analysis capabilities of Excel and Excel Services
  • Combine data from different sources and connect data for analysis with PowerPivot
  • Move data into the system using SSIS, InfoPath, Streamsight, and SharePoint 2010 External Lists
  • Build and publish reports with SSRS
  • Integrate data from disparate applications, using SharePoint 2010 BI features
  • Create scorecards and dashboards with PerformancePoint Services
  • Summarize large volumes of data in charts and graphs
  • Use the SSRS map feature for complex visualizations of spatial data
  • Uncover patterns and relationships in data using the SSAS data mining engine
  • Handle master data management with Master Data Services
  • Publish the components of your BI solution and perform administrative tasks

Buy Now!

List Price: $ 50.00
Price: $ 29.61

Comments Off

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

Creating an Excel Services Dashboard in 4 minutes

Posted on 04 April 2011 by


SharePoint 2010 Training: more information

A friend/client of mine just recorded a video of me demonstrating the creation of a simple dashboard using Excel Services. This is aimed towards savvy business users. Here you go,

Read full article ….




Read More

Comments Off

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

Microsoft Office Excel 2007 for Project Managers

Posted on 03 April 2011 by

Combine the power of Excel 2007, Microsoft Office SharePoint Server, and sound project management tools to boost your skill set and maximize your productivity. You’ll walk through a project and learn how to use these powerful tools to schedule jobs, create budgets, manage processes, and share project information. Whether new to project management or a veteran, you’ll discover techniques, hints, and examples you can use immediately.

Buy Now!

List Price: $ 29.99
Price: $ 9.75

Comments Off

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

Duet Enterprise and Excel 2010

Posted on 30 March 2011 by

Body:
Author: Joyanta Sen (Microsoft France)
 
Here is a step-by-step description of an example based on Duet Enterprise list integration inside Excel 2010. The goal is to display the Customer list in an Excel 2010 Spreadsheet.

Preliminary steps

To consume External List from an External Content Type in a VSTO Excel application, you should perform the following operations:
  • Create an external List from an External Content Type

 

Excel VSTO application

1. Create a VSTO workbook project using Visual Studio 2010:

 

2.  Create a helper class called SPHelper in a project folder called Helpers

 

3. Add a type in your project corresponding to the Customer structure in a class called CommonTypes.cd in a Common directory:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace DuetExcelWorkbook.Common
{
    public struct CustomerType
    {
        public string FirstLineName;
        public string CountryCode;
        public string AddressregionCode;
        public string AddresscityName;
 
    }
}

 

 

4.  Add the Client OM assembly:

-      C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\
-          Add  the two following assembly references to your project:
o   Microsoft.SharePoint.Client.dll
o   Microsoft.SharePoint.Client.Runtime.dll

 -          Create a class called SPHelpers.cs in Common:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.Client;
using System.Linq.Expressions;
using System.Xml;
 
namespace DuetExcelWorkbook.Helpers
{
    public static class SPHelper
    {
        public static List<CustomerType> GetCustomerList(string TargetSiteUrl, string TargetListName)
        {
            List<CustomerType> CustomerList = new List<CustomerType>();
 
            try
            {
                ClientContext clientContext = new ClientContext(TargetSiteUrl);
 
                List externalList = clientContext.Web.Lists.GetByTitle(
                    TargetListName);
 
                // To properly construct the CamlQuery and
                // ClientContext.LoadQuery,
                // we need some View data of the Virtual List.
                // In particular, the View will give us the CamlQuery
                // Method and Fields.
                clientContext.Load(
                    externalList.Views,
                    viewCollection => viewCollection.Include(
                        view => view.ViewFields,
                        view => view.HtmlSchemaXml));
 
                // This tells us how many list items we can retrieve.
                clientContext.Load(clientContext.Site,
                    s => s.MaxItemsPerThrottledOperation);
 
                clientContext.ExecuteQuery();
 
                // Let’s just pick the first View.
                View targetView = externalList.Views[0];
                string method = ReadMethodFromViewXml(
                    targetView.HtmlSchemaXml);
                ViewFieldCollection viewFields = targetView.ViewFields;
 
                CamlQuery vlQuery = CreateCamlQuery(
                    clientContext.Site.MaxItemsPerThrottledOperation,
                    method,
                    viewFields);
 
                Expression<Func<ListItem, object>>[] listItemExpressions =
                    CreateListItemLoadExpressions(viewFields);
 
                ListItemCollection listItemCollection =
                    externalList.GetItems(vlQuery);
 
                // Note: Due to limitation, you currently cannot use
                // ClientContext.Load.
                //       (you’ll get InvalidQueryExpressionException)
                IEnumerable<ListItem> resultData = clientContext.LoadQuery(
                    listItemCollection.Include(listItemExpressions));
 
                clientContext.ExecuteQuery();
 
                foreach (ListItem li in resultData)
                {
                    // Now you can use the ListItem data!
                    CustomerType customer = new CustomerType();
 
                    customer.FirstLineName = li["FirstLineName"].ToString();
                    //customer.AddresscityName = li["AddresscityName"].ToString();
                    //customer.AddressregionCode = li["AddressregionCode"].ToString();
                    customer.CountryCode = li["CountryCode"].ToString();
 
                    CustomerList.Add(customer);
                    Console.WriteLine("First Name: {0} Country : {1} \n", li["FirstLineName"].ToString(), li["CountryCode"].ToString());
                    // Note: In the CamlQuery, we specified RowLimit of
                    // MaxItemsPerThrottledOperation.
                    // You may want to check whether there are other rows
                    // not yet retrieved.               
                }
            }
            catch (Exception ex)
            {
 
                throw ex;
            }
 
            return CustomerList;
        }
 
        /// <summary>
        /// Parses the viewXml and returns the Method value.
        /// </summary>       
        private static string ReadMethodFromViewXml(string viewXml)
        {
            XmlReaderSettings readerSettings = new XmlReaderSettings();
            readerSettings.ConformanceLevel = ConformanceLevel.Fragment;
 
            XmlReader xmlReader = XmlReader.Create(
                new StringReader(viewXml), readerSettings);
            while (xmlReader.Read())
            {
                switch (xmlReader.NodeType)
                {
                    case XmlNodeType.Element:
                        if (xmlReader.Name == "Method")
                        {
                            while (xmlReader.MoveToNextAttribute())
                            {
                                if (xmlReader.Name == "Name")
                                {
                                    return xmlReader.Value;
                                }
                            }
                        }
                        break;
                }
            }
 
            throw new Exception("Unable to find Method in View XML");
        }
 
        /// <summary>
        /// Creates a CamlQuery based on the inputs.
        /// </summary>       
        private static CamlQuery CreateCamlQuery(
            uint rowLimit, string method, ViewFieldCollection viewFields)
        {
            CamlQuery query = new CamlQuery();
 
            XmlWriterSettings xmlSettings = new XmlWriterSettings();
            xmlSettings.OmitXmlDeclaration = true;
 
            StringBuilder stringBuilder = new StringBuilder();
            XmlWriter writer = XmlWriter.Create(
                stringBuilder, xmlSettings);
 
            writer.WriteStartElement("View");
 
            // Specifies we want all items, regardless of folder level.
            writer.WriteAttributeString("Scope", "RecursiveAll");
 
            writer.WriteStartElement("Method");
            writer.WriteAttributeString("Name", method);
            writer.WriteEndElement();  // Method
 
            if (viewFields.Count > 0)
            {
                writer.WriteStartElement("ViewFields");
                foreach (string viewField in viewFields)
                {
                    if (!string.IsNullOrEmpty(viewField))
                    {
                        writer.WriteStartElement("FieldRef");
                        writer.WriteAttributeString("Name", viewField);
                        writer.WriteEndElement();  // FieldRef
                    }
                }
                writer.WriteEndElement();  // ViewFields
            }
 
            writer.WriteElementString(
                "RowLimit", rowLimit.ToString(CultureInfo.InvariantCulture));
 
            writer.WriteEndElement();  // View
 
            writer.Close();
 
            query.ViewXml = stringBuilder.ToString();
 
            return query;
        }
 
        /// <summary>
        /// Returns an array of Expression used in
        /// ClientContext.LoadQuery to retrieve
        /// the specified field data from a ListItem.       
        /// </summary>       
        private static Expression<Func<ListItem, object>>[]
            CreateListItemLoadExpressions(
            ViewFieldCollection viewFields)
        {
            List<Expression<Func<ListItem, object>>> expressions =
                new List<Expression<Func<ListItem, object>>>();
 
            foreach (string viewFieldEntry in viewFields)
            {
                // Note: While this may look unimportant,
                // and something we can skip, in actuality,
                //       we need this step.  The expression should
                // be built with local variable.               
                string fieldInternalName = viewFieldEntry;
 
                Expression<Func<ListItem, object>>
                    retrieveFieldDataExpression =
                    listItem => listItem[fieldInternalName];
 
                expressions.Add(retrieveFieldDataExpression);
            }
 
            return expressions.ToArray();
        }
    }
5. Now we will code the user interface, the part of the code that will call the Client OM class.
Add a Ribbon on you project:

 

 
Modify the following properties for the Ribbon:

Label: Duet Enterprise
Name: tabDuet

 Add a button on the ribbon and modifies the following properties: 

ControlSize: RibbonControlSizeLarge
Label: Customers
OfficeImageId: SlideMasterChartPlacehoderInsert

 6.  Add the following code in the buttonCustomers_Click() function:

private void buttonCustomers_Click(object sender, RibbonControlEventArgs e)
        {
            List<CustomerType> result = new List<CustomerType>();
 
            try
            {
                result = SPHelper.GetCustomerList("http://litware", "SAPCustomers");
 
                //string[] Names = new string[];
                //string[] Countries;
                List<string> Names = new List<string>();
                List<string> Countries = new List<string>();
                int counter = 0;
 
                // Fill the collections
 
                foreach (var item in result)
                {
                    // Add the customers in the ListView
 
                    Names.Add(item.FirstLineName);
                    Countries.Add(item.CountryCode);
                         
                    counter++;
 
                }
 
                // Create a data table with two columns.
                System.Data.DataTable table = new DataTable();
                DataColumn column1 = new DataColumn("Name", typeof(string));
                DataColumn column2 = new DataColumn("Country", typeof(string));
                table.Columns.Add(column1);
                table.Columns.Add(column2);
 
                // Add the four rows of data to the table.
                DataRow row;
                for (int i = 0; i < counter; i++)
                {
                    row = table.NewRow();
                    row["Name"] = Names[i];
                    row["Country"] = Countries[i];
                    table.Rows.Add(row);
                }
 
                Microsoft.Office.Tools.Excel.ListObject list1 =
                    Globals.Sheet1.Controls.AddListObject(Globals.Sheet1.Range["A1", "B4"], "list1");
 
                // Bind the list object to the table.
                list1.SetDataBinding(table);
 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                throw;
            }
 
        }
 

7. Run Visual Studio

Note: make sure you run Visual Studio using the correct user identity. The user must be able to have appropriate read permission on the Customers list.

Click on the Duet Enterprise Ribbon and click on the Customers button. You will see the customers list added to Microsoft Excel:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Category: Duet; Excel Services
Published: 2/3/2011 9:00 AM

Read More

Comments Off

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

Anyone know how to do a snapshot of a sharepoint server & maybe schedule that snap shot daily?

Posted on 02 December 2010 by

Chosen Answer:

a developer will have to develop that application if you want it to run daily, and if there is software out there for this i am not sure where to find it. for now you can do a screen shot of your sharepoint program by pressing CTRL + PrtScn then paste it into a word/excel/powerpoint/ etc… document.
by: Aubrey
on: 8th December 10

Comments (1)

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

What is Microsoft SharePoint?

Posted on 03 October 2010 by Tony

Help….having a problem explaining the term. Simple explanation needed for a presentation is needed…..something someone with only the ability to use Excel or Word could understand.

Chosen Answer:

Sharepoint allows users to interact and edit or modify documents and files together.
by: NevTheTech
on: 10th October 10

Comments (2)