为了账号安全,请及时绑定邮箱和手机立即绑定

Java 如何向下载的 CSV 添加新的空列

Java 如何向下载的 CSV 添加新的空列

慕娘9325324 2021-08-13 15:32:51
我正在使用 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 文件中,并带有当前创建的所有列的标题。


查看完整回答
反对 回复 2021-08-13
  • 1 回答
  • 0 关注
  • 201 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信