← Back to team overview

dhis2-devs team mailing list archive

Re: Web API in Excel

 

Yes, I agree with Markus,
Excel is good tool to do deep formula to calculate in data elements. And offline too.

Markus Bekken <markus.bekken@xxxxxxxxx> wrote:

>Thanks Bob,
>
>
>1. I have not established a preference here - your point on using CSV is a good one. CSV will probably be easier to "deserialize" in most cases. JSON or XML on the other hand, will probably be a little more robust to changes in the WebAPI output. 
>
>
>2. I like it. Excel is a good tool accessible to many people. I have been using an excel sheet to manage some data through the API, but the sheet I made contains some "hardcodings" that is made for my specific case. I have been thinking about making a generic version of my Excel, that can be used by anyone to post, put and maybe also get data through the API.
>
>
>Best regards
>
>Markus
>
>
>p.s. I deleted the stackexchange question again, as the question and answer was generic Excel, and not so DHIS related. The link still works, but here is the code snippet.
>
>
>It is possible to use Excel Macros to call the Web API. Posting to the API can be done like this:
>
>Public Function postData(ByVal address As String, ByVal json As String, ByVal mode As String) If (mode = "Yes" Or mode = "Debug") Then On Error GoTo Errorhandler Dim objHTTP As New WinHttpRequest URL = address objHTTP.Open "POST", URL, False objHTTP.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = 13056 objHTTP.setRequestHeader "Content-Type", "application/json" objHTTP.setRequestHeader "Authorization", "Basic " & EncodeBase64("admin:district") objHTTP.send json If (mode = "Debug") Then postData = objHTTP.ResponseText Else postData = objHTTP.statusText End If Else postData = mode End If Exit Function Errorhandler: postData = Err.Description End Function 
>
>For doing a GET, you should be able to just replace the "POST" with a "GET", and send the request without the json.
>
>
>
>23. jun. 2015 kl. 13.40 skrev Bob Jolliffe <bobjolliffe@xxxxxxxxx>:
>
>
>Hi Markus
>
>Thanks for this information.  That's a really useful snippet for
>anyone to get started who might want to do this.  I have a quick
>question and a comment/suggestion:
>
>1.  I can see from the link that you can indeed parse/serialize json
>from VBA - I guess it would have been surprising if you couldn't :-)
>Would you do this in preference to CSV?
>
>2.  On a a more general point, there has been interest in (and a long
>historical relationship) between DHIS and Excel.  Ranging from its
>early origins in DHIS1.4 through to primitive efforts to populate
>spreadsheet data using mydatamart.  But the use cases from excel as
>data collection instrument, through to excel for analysis (pivot
>tables) and simple metadata management are very varied.  It strikes me
>that a library of DHIS2-web-api macros similar to those you presented
>in your link would be hugely interesting to a lot of people.  Have you
>considered collecting/publishing such a thing?
>
>Cheers
>Bob
>
>On 23 June 2015 at 12:06, Markus Bekken <markus.bekken@xxxxxxxxx> wrote:
>
>Hi Channara and Bob
>
>I have been using macros to POST and PUT data to the API, and GET requests
>should work just as well.
>
>I added your question and put my macro code here:
>https://webapps.stackexchange.com/questions/79521/can-i-use-excel-to-get-json-from-the-dhis-api/79522#79522
>
>See the comment at the end, seems it is possible to parse the JSON in a
>macro also.
>
>Thank you,
>Markus
>
>23. jun. 2015 kl. 12.13 skrev Bob Jolliffe <bobjolliffe@xxxxxxxxx>:
>
>You can't use excel to get json data from dhis2 web api.  At least not
>directly.
>
>You could possibly write an excel macro to "get" the data through the
>web api (I am really not sure - it is far too many years since i wrote
>an excel macro), but you are still left with the problem of consuming
>what you have got (json) into cells in a spreadsheet.
>
>I believe all (or certainly almost all) of the data which is available
>as json is also available as csv.  If you are looking at getting dhsi2
>data into excel in general, I would look at csv rather than json if
>you want to minimize the processing/transformation that would
>otherwise have to happen in between getting the data and consuming it.
>
>https://www.dhis2.org/doc/snapshot/en/developer/html/dhis2_developer_manual.html
>
>On 23 June 2015 at 07:47, channara rin <rin.channara@xxxxxxxxx> wrote:
>
>Hi all DHIS2 developer,
>Do you know can i use Microsoft Excel to get json data from DHIS2 web API?
>
>thank you
>channara
>
>_______________________________________________
>Mailing list: https://launchpad.net/~dhis2-devs
>Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>Unsubscribe : https://launchpad.net/~dhis2-devs
>More help   : https://help.launchpad.net/ListHelp
>
>
>_______________________________________________
>Mailing list: https://launchpad.net/~dhis2-devs
>Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>Unsubscribe : https://launchpad.net/~dhis2-devs
>More help   : https://help.launchpad.net/ListHelp
>
>
>

Follow ups