我正在从我的应用创建工作簿。我从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);
}
答案 0 :(得分:1)
您的问题实际上并非与POI代码(主要是)......
你的问题是这两行:
ArrayList<HashMap<String, String>> test = controller .getAllpersons(value1,value2);
c.setCellValue(test.get(i).toString());
您的变量test
是哈希映射列表。地图将按键索引,您想要的东西将在值中。但是,您将忽略地图查找,只需获取整个批次+转换为字符串。
假设您传递给String[]
的{{1}}是地图的关键字,那么您需要做的是:
SimpleAdapter