2

我下面的代码正在打印带有数据的列。我尝试了 putescapeCsv的方法,StringEscapeUtils但逗号仍然没有从名称列中删除。

builder.append("Code,CodeName,CodeDepartment");
builder.append(System.lineSeparator());
Set<Entry<String, CodeDetails>> entrySet = sorted.entrySet();
for(Entry<String, CodeDetails> entry : entrySet)
{
    builder.append(entry.getKey());
    builder.append(",");
    builder.append(entry.getValue().getCodeName());
    StringEscapeUtils.escapeCsv(entry.getValue().getCodeName());
    builder.append(",");
    builder.append(entry.getValue().getCodeDepartment());
}
4

1 回答 1

3

看起来您没有使用escapeCsv. 您应该尝试以下方法:

builder.append(StringEscapeUtils.escapeCsv(entry.getValue().getCodeName()));

此外,正如评论中所述,这不会删除逗号 - 它会用双引号括住字符串,这对于 CSV 中带逗号的字符串是正确的。

于 2019-10-21T07:23:47.943 回答