我正在使用 Java OpenCSV 代码从 MYSQL 的表之一读取数据并将结果集写入 CSV。现在我的要求是我想在下载的 csv 的标题中添加新的空列名称作为第一列。不确定如何以及在何处进行此更改。附上我想要的例子。设计代码: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 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
一旦进入 dataFetch 函数,是否可以重新构造查询字符串?
要在 END(最后一列)添加一列,我会将短语替换' FROM '
为新的字段定义,以便您的查询字符串如下所示:
select Name,Address,'' AS NewColumnName from dbo.Employee
用 ' FROM
'替换 ' ' ,'' AS NewColumnName FROM
- 是我的建议。(我用大写字母只是为了强调)
要在开头添加一列, 我会将短语替换'SELECT '
为新的字段定义,以便您的查询字符串如下所示:
select '' AS NewColumnName,Name,Address from dbo.Employee
用 ' SELECT
'替换 ' ' SELECT '' AS NewColumnName,
- 是我的建议。(我用大写字母只是为了强调)
然后,您有效地向 SQL 输出添加了新列,它将传播到您的 CSV 文件中,并带有当前创建的所有列的标题。
添加回答
举报
0/150
提交
取消