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();
}
}

一旦进入 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 文件中,并带有当前创建的所有列的标题。

相关内容

  • 没有找到相关文章

最新更新