如何将ListAdapter的值获取到工作簿单元格

时间:2014-12-25 11:29:42

标签: java excel apache apache-poi

我正在从我的应用创建工作簿。我从sqlite获取数据的Arraylist,然后使用ListAdapter来查看它。我可以保存到工作簿就好了。行显示数据,但它们显示的是来自查询的原始数据,如Personfirstname = John,以及Personlastname = Doe都在一个单元格中。那不是我想要的。我想要的是在单元格1中看到John,单元格2中的Doe也在单元格2的第2行中的Jane和第2行的单元格2中的母公司。我知道我需要对ListAdapter做一些事情我只是不知道该怎么做做。

这是我的代码(我正在使用apache.poi jar)

ArrayList<HashMap<String, String>> test = controller .getAllpersons(value1,value2);

ListAdapter adapter1 = new SimpleAdapter(Persons.this, test, R.layout.rowsales,
new String[] { "NamesId", "personfirstname","personlastname }, 
new int[] {R.id.NamesId, R.id.personfirstname,R.id.personlastname});


for (int i = 0; i < test.size(); i++) {

Row row2 = sheet1.createRow((short) i+3);
c = row2.createCell(0);
System.out.println(test.get(i));
c.setCellValue(test.get(i).toString());
c.setCellStyle(s);
}

1 个答案:

答案 0 :(得分:1)

您的问题实际上并非与POI代码(主要是)......

你的问题是这两行:

ArrayList<HashMap<String, String>> test = controller .getAllpersons(value1,value2);

c.setCellValue(test.get(i).toString());

您的变量test是哈希映射列表。地图将按键索引,您想要的东西将在值中。但是,您将忽略地图查找,只需获取整个批次+转换为字符串。

假设您传递给String[]的{​​{1}}是地图的关键字,那么您需要做的是:

SimpleAdapter