The excel thing is obviously something that we should address at some point. I have also made an unfinished attempt during the Ebola crisis. What I did was to provide a UI that allows users to upload excel file, do mapping between columns and data elements or attributes and finally upload the cell values.
On Tue, Jun 23, 2015, 14:15 rin.chann...@gmail.com <rin.chann...@gmail.com> wrote: > Yes, I agree with Markus, > Excel is good tool to do deep formula to calculate in data elements. And > offline too. > > Markus Bekken <markus.bek...@gmail.com> 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 <bobjolli...@gmail.com>: > > 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.bek...@gmail.com> 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 <bobjolli...@gmail.com>: > > 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.chann...@gmail.com> 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@lists.launchpad.net > Unsubscribe : https://launchpad.net/~dhis2-devs > More help : https://help.launchpad.net/ListHelp > > > _______________________________________________ > Mailing list: https://launchpad.net/~dhis2-devs > Post to : dhis2-devs@lists.launchpad.net > Unsubscribe : https://launchpad.net/~dhis2-devs > More help : https://help.launchpad.net/ListHelp > > > > _______________________________________________ > Mailing list: https://launchpad.net/~dhis2-users > Post to : dhis2-us...@lists.launchpad.net > Unsubscribe : https://launchpad.net/~dhis2-users > More help : https://help.launchpad.net/ListHelp > -- ---- Thank you, Abyot
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp