如何在下载的csv中添加新的空列

c9qzyr3d  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(341)

我使用javaopencsv代码从mysql的一个表中读取数据,并将结果集写入csv。
现在我的要求是我想在下载的csv的标题中添加新的空列名作为第一列。
我不知道我该怎么做,在哪里做这个改变。
例如,我想要的是attached.design
代码:

  1. public void dataFetch(Connection conn,String query) { // query is hardcoded as : select Name,Address from dbo.Employee
  2. ResultSet rs = null;
  3. Statement stmt = null;
  4. try {
  5. stmt = conn.createStatement();
  6. stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
  7. stmt.setFetchSize(Integer.MIN_VALUE);
  8. rs = stmt.executeQuery(query);
  9. CSVWriter writer = new CSVWriter(new BufferedWriter(new FileWriter(strSource)));
  10. ResultSetHelperService service = new ResultSetHelperService();
  11. service.setDateTimeFormat("yyyy-MM-dd HH:mm:ss.SSS");
  12. System.out.println("****Started writing Data to CSV****" + new Date());
  13. writer.setResultService(service);
  14. int lines = writer.writeAll(rs, true, true, false);
  15. writer.flush();
  16. writer.close();
  17. System.out.println("**OpenCSV -Completed writing the resultSet at " + new Date() + " Number of lines written to the file " + lines);
  18. rs.close();
  19. stmt.close();
  20. } catch(Exception e) {
  21. e.printStackTrace();
  22. }
  23. }
cgyqldqp

cgyqldqp1#

一旦进入datafetch函数,是否可以重新构造查询字符串?
若要在末尾(最后一列)添加一列,我将替换该短语 ' FROM ' 使用新字段定义使查询字符串如下所示:

  1. select Name,Address,'' AS NewColumnName from dbo.Employee

替换' FROM '与' ,'' AS NewColumnName FROM 是我的建议(我用大写字母来强调)
若要在开头添加一列,我将替换该短语 'SELECT ' 使用新字段定义使查询字符串如下所示:

  1. select '' AS NewColumnName,Name,Address from dbo.Employee

替换' SELECT '与' SELECT '' AS NewColumnName, 是我的建议(我用大写字母来强调)
然后,有效地将新列添加到sql输出中,它将传播到csv文件中,并为当前创建的所有列提供一个标题。

相关问题