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

我正在使用 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();

    }

}


慕娘9325324
浏览 202回答 1
1回答

慕莱坞森

一旦进入 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 文件中,并带有当前创建的所有列的标题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java