我正在使用 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 文件中,并帶有當前創建的所有列的標題。
添加回答
舉報
0/150
提交
取消