Sample code for 30+ languages & platforms
VB.NET

Xero Export Accounts to CSV

Demonstrates how to export Accounts data to a CSV.

Note: Requires Chilkat v9.5.0.64 or greater.

Chilkat VB.NET Downloads

VB.NET
Dim success As Boolean = False

' Note: Requires Chilkat v9.5.0.64 or greater.

' This requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim rest As New Chilkat.Rest



' Before sending REST API calls, the REST object needs to be
' initialized for OAuth1.
' See Xero 2-Legged OAuth1 Setup for sample code.

' Assuming the REST object's OAuth1 authenticator is setup, and the initial
' connection was made, we may now send REST HTTP requests..

' Get the full list of accounts.
Dim sbXml As New Chilkat.StringBuilder
success = rest.FullRequestNoBodySb("GET","/api.xro/2.0/Accounts",sbXml)
If (success <> True) Then
    Debug.WriteLine(rest.LastErrorText)
    Exit Sub
End If


' A 200 response is expected for actual success.
If (rest.ResponseStatusCode <> 200) Then
    Debug.WriteLine(sbXml.GetAsString())
    Exit Sub
End If


' Build a CSV containing a few Account fields.
Dim csv As New Chilkat.Csv
csv.HasColumnNames = True
csv.SetColumnName(0,"AccountID")
csv.SetColumnName(1,"Name")
csv.SetColumnName(2,"Code")
csv.SetColumnName(3,"EnablePaymentsToAccount")

' Iterate over the accounts and build the CSV.
Dim bAutoTrim As Boolean = False
Dim xml As New Chilkat.Xml
xml.LoadSb(sbXml,bAutoTrim)

Dim numAccounts As Integer = xml.NumChildrenAt("Accounts")
Dim i As Integer = 0
While i < numAccounts
    xml.I = i
    csv.SetCellByName(i,"AccountID",xml.GetChildContent("Accounts|Account[i]|AccountID"))
    csv.SetCellByName(i,"Name",xml.GetChildContent("Accounts|Account[i]|Name"))
    csv.SetCellByName(i,"Code",xml.GetChildContent("Accounts|Account[i]|Code"))
    csv.SetCellByName(i,"EnablePaymentsToAccount",xml.GetChildContent("Accounts|Account[i]|EnablePaymentsToAccount"))
    i = i + 1
End While

' Examine the CSV.
Debug.WriteLine(csv.SaveToString())

' Save the CSV to a file.
csv.SaveFile("qa_output/xero_accounts.csv")