【发布时间】:2017-04-27 10:00:50
【问题描述】:
我想在 CSV 文件上打印查询表结果。
我尝试使用此代码:
PrintWriter csvWriter = new PrintWriter(new File(path + "SqlClient_" + date + ".csv")) ;
ResultSetMetaData meta = rs.getMetaData() ;
int numberOfColumns = meta.getColumnCount() ;
String dataHeaders = "\"" + meta.getColumnName(1) + "\"" ;
for (int i = 2 ; i < numberOfColumns + 1 ; i ++ ) {
dataHeaders += ",\"" + meta.getColumnName(i) + "\"" ;
}
csvWriter.println(dataHeaders) ;
while (rs.next()) {
String row = "\"" + rs.getString(1) + "\"" ;
for (int i = 2 ; i < numberOfColumns + 1 ; i ++ ) {
row += ",\"" + rs.getString(i) + "\"" ;
}
csvWriter.println(row) ;
}
csvWriter.close();
这是我得到的:
title1","title2","title3"
"date1","date2","date3"
....
这是写在单个列中,而不是我想写在不同的列上,例如:
title1 | title2 | title3
data1| data2 | data3 |
有一个特殊的命令可以将字符串分成不同的列吗?
【问题讨论】:
-
如果我理解正确,您希望列由字符
|分隔,而不是","? -
嗯,没有 xD xD 角色 |表示我是不同的列。
-
所以如果我理解你的意思,你的 csv 文件将如下所示:Title1(一列)、Title 2(另一列)等?
-
是的,没错。
标签: java sql csv multiple-columns