我使用Netbeans在Java中创建程序,Netbeans从数据库下载数据,然后使用OpenCSV保存到CSV文件。但是由于某种原因,跳过了第一行数据库。
while (rs.next()){
CSVWriter writer = new CSVWriter(new FileWriter("C:\\test2.csv"), ',');
writer.writeAll(rs,false);
writer.flush();
writer.close();
}
实际数据库数据:
1 Mark BMW
2 John Audi
3 Nick Fiat
写入CSV文件的数据:
2 John Audi
3 Nick Fiat
答案 0 :(得分:2)
我认为对rs.next()
的调用正在推进结果集中的一行,然后调用writeAll会在该进度之后写入所有内容。尝试取出代码周围的while(rs.next)
循环块,看看是否有效
答案 1 :(得分:0)
您应该再次查看文档。它清楚地表明你不需要while循环。您只需将结果集抛出并定义标题是否应该返回。
writer.writeAll(yourResultSet, true);
在上述情况下,标题将包含在生成的csv文件
中