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

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

我使用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();
    }
}
cgyqldqp

cgyqldqp1#

一旦进入datafetch函数,是否可以重新构造查询字符串?
若要在末尾(最后一列)添加一列,我将替换该短语 ' 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文件中,并为当前创建的所有列提供一个标题。

相关问题