public void getPersons()
{
Session s = sessionFactory.openSession();
Criteria c = s.createCriteria(Person.class);
c.add(Restrictions.isNotNull("id"));
List<Person> al = c.list();
StringWriter writer = new StringWriter();
CSVWriter csvWriter = new CSVWriter(writer, ',', '\'');
for (Person person : al) {
System.out.println(person.getName()+"------------------"+al);
csvWriter.writeAll(person); // this also not work
}
读取数据和csv的方法。我应该在这里使用什么?通过使用csvWriter.writeAll()想要创建','分隔文件 CSVWriter类型中的writeAll(List)方法不适用于参数(Person)
答案 0 :(得分:0)
除非Person是字符串数组的列表,否则这将不起作用。
您需要CSVWriter的源(String或Iterable of String [] s),您可以从人员列表中创建:
List<String[]> employees = new ArrayList<String[]>();
for (Person person : al) {
employees.add(new String[] {person.getEmployeeId(), person.getName(), person.getEtc.()})
}
但是你生成它,你可以将它传递给writeAll:
csvWriter.writeAll(employees);
...并关闭作者:
csvWriter.close();