使用csvwriter创建时出现问题

时间:2017-05-04 14:13:28

标签: java spring hibernate spring-mvc hibernate-criteria

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)

1 个答案:

答案 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();