gpt4 book ai didi

java - 使用 Univocity 在输出 CSV 中设置自定义 header

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:48 25 4
gpt4 key购买 nike

我使用 Univocity 使用以下代码将结果集转换为 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();

我尝试在输出中设置自定义 header ,但返回的输出始终具有默认 header 。

有什么方法可以在输出 csv 格式字符串中设置自己的 header 值。

最佳答案

这是一个错误,我刚刚打开了一个错误报告 here )所以这在 2.5.0+ 版本中可以开箱即用。目前有一个解决方法:

首先设置您想要的标题:

String headers[] = {"My", "Custom", "Header"};
csvWriterSettings.setHeaders(headers);

将带有标题的单行写入输出:

CsvWriter headerWriter = new CsvWriter(stringWriter, csvWriterSettings);
headerWriter.writeRow(headers);

转储结果集:

CsvRoutines csvRoutines = new CsvRoutines(csvWriterSettings);
csvRoutines.write(resultSet, stringWriter);

关闭您创建的用于生成 header 的编写器:

headerWriter.close();

希望这有帮助。

关于java - 使用 Univocity 在输出 CSV 中设置自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44046377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com