我使用javaopencsv代码从mysql的一个表中读取数据,并将结果集写入csv。
现在我的要求是我想在下载的csv的标题中添加新的空列名作为第一列。
我不知道我该怎么做,在哪里做这个改变。
例如,我想要的是attached.design
代码:
public void dataFetch(Connection conn,String query) { // query is hardcoded as : select Name,Address from dbo.Employee
ResultSet rs = null;
Statement stmt = null;
try {
stmt = conn.createStatement();
stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);
rs = stmt.executeQuery(query);
CSVWriter writer = new CSVWriter(new BufferedWriter(new FileWriter(strSource)));
ResultSetHelperService service = new ResultSetHelperService();
service.setDateTimeFormat("yyyy-MM-dd HH:mm:ss.SSS");
System.out.println("****Started writing Data to CSV****" + new Date());
writer.setResultService(service);
int lines = writer.writeAll(rs, true, true, false);
writer.flush();
writer.close();
System.out.println("**OpenCSV -Completed writing the resultSet at " + new Date() + " Number of lines written to the file " + lines);
rs.close();
stmt.close();
} catch(Exception e) {
e.printStackTrace();
}
}
1条答案
按热度按时间cgyqldqp1#
一旦进入datafetch函数,是否可以重新构造查询字符串?
若要在末尾(最后一列)添加一列,我将替换该短语
' FROM '
使用新字段定义使查询字符串如下所示:替换'
FROM
'与','' AS NewColumnName FROM
是我的建议(我用大写字母来强调)若要在开头添加一列,我将替换该短语
'SELECT '
使用新字段定义使查询字符串如下所示:替换'
SELECT
'与'SELECT '' AS NewColumnName,
是我的建议(我用大写字母来强调)然后,有效地将新列添加到sql输出中,它将传播到csv文件中,并为当前创建的所有列提供一个标题。