gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 12:05:37 25 4
gpt4 key购买 nike

我正在从我的应用程序创建工作簿。我从 sqlite 获取数据的 Arraylist,然后使用 ListAdapter 来查看它。我可以很好地保存到工作簿中。这些行显示数据,但它们显示的是来自查询的原始数据,例如 Personfirstname= John 和 Personlastname = Doe 全部在一个单元格中。那不是我想要的。我想要的是在单元格 1 中看到 John,在单元格 2 中看到 Doe,在单元格 2 的第 2 行中看到 Jane,在第 2 行的单元格 2 中看到 Doe。我知道我需要用我的 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);
}

最佳答案

您的问题实际上并不在于 POI 代码(主要)...

您的问题出在这两行上:

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

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

你的变量test是一个 HashMap 列表。 map 将按键索引,您想要的东西将在值中。但是,您随后将忽略 map 查找,而只是获取整个批处理并转换为字符串。

假设您传递给 SimpleAdapterString[] 是映射的键,那么您需要做的是:

Workbook wb = new HSSFWorkbook();
Sheet s1 = wb.createSheet();
for (int i=0; i<test.size(); i++) {
String firstname =
Row r = s1.createRow(i);

Map<String,String> personData = test.get(i);

Cell fn = r.createCreateCell(0, Cell.CELL_TYPE_STRING);
fn.setCellValue(data.get("personfirstname"));

Cell ln = r.createCreateCell(1, Cell.CELL_TYPE_STRING);
ln.setCellValue(data.get("personlastname"));
}

关于java - 如何将 ListAdapter 的值获取到工作簿单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27646793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com