For that you can make Custom Adapter and pass your ArrayList to that adapter constructor as a Parameter.
Something Like that..
CustomAdapter cp = new CustomAdapter(YourActivityName.this,officeList);
spinner.setAdapter(cp);
for that you have also make one custom layout xml file in which your TextView will be.
Now CustomAdapter extebds with BaseAdapter
and after that in getView() method you can get officename by
String ofcname = yourarraylist.get(position).get("office_name");
txtview.setText(ofcname);