首页 > 解决方案 > 如何生成带有多字符分隔符的 CSV,例如 (#@#)

问题描述

我正在使用 Apache Commons Csv 导出数据,它的限制是它只支持一个字符作为分隔符。

我的要求是使用字符串/多字符值(如#@#,##等)导出数据||

这是我需要导出的数据示例:

 id#@#name#@#address

 1#@#user1#@#Street, country

 2#@#user2#@#"Street#@#country"

这是我的代码:

char delimiter = ',';
char quotechar= '"';
char escapechar= '\\';
CSVFormat csvFormat = CSVFormat.EXCEL.withDelimiter(delimiter).withQuote(quotechar).withEscape(escapechar).withQuoteMode(QuoteMode.MINIMAL); 
try {
    IPersistenceManager.OutputResource outputResource = persistenceManager.getOutputStream(resourceId + MESSAGE_SUFFIX);
    CSVPrinter writer = new CSVPrinter(new OutputStreamWriter(outputResource.Stream, Charset.defaultCharset(), csvFormat); 
    outputUri = outputResource.Uri;
    for (String[] row : dataSheet) {
        writer.printRecord(row);
    }
}

有人可以指导我如何使用CSVPrinter.

标签: javaexport-to-csvapache-commons

解决方案


推荐阅读