1

I have an Excel client and an API and both are under my control. What I want to achieve is a data connection in Excel that can be refreshed by the end user by the click of a button instead of downloading xml/csv/xls files. The benefit would be that the user can have extensive custom charts that don't need to be rebuilt every time a new data set is used, e.g. weekly pivot reports etc.

That is pretty straight forward when using single tenant SQL Server or Access as a data source, however the requirements are a bit different here:

  • The data has to come through the API as data transformations have to be done.
  • The user should authenticate with every refresh (i.e. basic auth).
  • Support for Excel 2010

Data connection "From Web" seems like a good candidate, however this only works with html tables as far as I can tell. OData connections seem to be only offered with Power Query and the Professional Plus packages.

Does it make sense to go down the "From Web" connections route and convert thousands of rows of xml to html or are there other options?

UPDATE

I ended up creating an html table manually which is backwards compatible to Excel 2003 and does not require client-side VBA.

2 Answers 2

2

Please check below link it may be help you

http://interoperating.info/courses/perl4data/node/26

http://www.codeproject.com/Tips/463096/Converting-a-datatable-to-CSV-XML-and-HTML-by-usin

Sign up to request clarification or add additional context in comments.

Comments

0

You can use ExcelDNA to create an addin that will let the user manipulate (get/set) the data from an Excel sheet, with a C# addin in the background to communicate with the API's XML. The addin works like an advanced VBA addin and can be activated via a button.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.