1
我使用的是單義性
使用下面的代碼結果集以CSV格式轉換爲字符串:設置自定義頁眉使用單義性
StringWriter stringWriter = new StringWriter();
CsvWriterSettings csvWriterSettings = new CsvWriterSettings();
ResultSetMetaData metaData = resultSet.getMetaData();
int columnCount = metaData.getColumnCount();
String headers[] = new String[columnCount];
for (int i = 0; i < columnCount; i++) {
headers[i] = metaData.getColumnLabel(i + 1);
}
for (int i = 0; i < headers.length; i++) {
if (fieldMapping != null && fieldMapping.containsKey(headers[i])) {
headers[i] = fieldMapping.get(headers[i]);
}
}
csvWriterSettings.setHeaders(headers);
csvWriterSettings.setHeaderWritingEnabled(true);
if (csvSeparator != null) {
csvWriterSettings.getFormat().setDelimiter(csvSeparator.charAt(0));
}
if (isQuoteFields) {
csvWriterSettings.setQuoteAllFields(true);
}
if (isCStyleEscape) {
csvWriterSettings.getFormat().setQuoteEscape(',');
csvWriterSettings.getFormat().setCharToEscapeQuoteEscaping('\\');
}
CsvRoutines csvRoutines = new CsvRoutines(csvWriterSettings);
csvRoutines.write(resultSet, stringWriter);
return stringWriter.toString();
我試圖設置自定義頭輸出,但返回輸出始終有一個默認標題。
有什麼辦法可以在輸出csv格式字符串中設置我自己的標題值。
感謝您分享解決方法,但它有一個問題。 headerWriter.writeRow(headers)將使用逗號分隔值編寫標題,但如果在csvWriterSettings.getFormat()。setDelimiter()中使用不同的分隔符,則不正確。 – HyperioN