正如标题所述,我正在将一个java查询从本地数据库导出到CSV文件中,所有必需的信息都打印出来,但我的列标题打印在A列(第1-8行)而不是列(AH)。简而言之,我在第1列中打印1-8页,然后按正确的顺序排列数千行数据。对java很新,对不起,如果我很傻!
PrintWriter out = new PrintWriter(new BufferedWriter(
new FileWriter("TestingRawData.csv")));
ResultSetMetaData rsmd = result.getMetaData();
int columnCount = rsmd.getColumnCount();
for (int i = 1; i < columnCount + 1; i++) {
String name = rsmd.getColumnName(i);
out.println(name);
// print the name
}
while (result.next()) {
out.println(String.format("%s,%s,%s,%s,%s,%s,%s,%s",
result.getString(1), result.getString(2),
result.getString(3), result.getString(4),
result.getString(5), result.getString(6),
result.getString(7), result.getString(8)));
}
答案 0 :(得分:0)
除了这应该使用诸如OpenCSV之类的CSV库完成之外,
println
输出换行符。请改用print
for (int i = 1; i < columnCount + 1; i++) {
String name = rsmd.getColumnName(i);
out.print(name);
if (i != columnCount + 1) {
out.print(",");
}
}