按照如下处理步骤可实现:
csv格式如果有逗号,将这个字段整体用双引号括起来;如果里面还有双引号就替换成两个双引号,这样导出来的格式就不会有问题了
错误:
内容是: 根据角色id更新权限,角色名称为XXX,导出显示如下
要想正常显示对字符串替换,根据规则转换为 “根据角色id更新权限,角色名称为XXX” 后就能在一个单元格中正常显示
解决办法:
/**
* 方法名称: csvHandlerStr</br>
* 方法描述: 处理包含逗号,或者双引号的字段</br>
* 方法参数: @param forecastName
* 方法参数: @return </br>
* 返回类型: String</br>
* 抛出异常:</br>
*/
private String csvHandlerStr(String str) {
//csv格式如果有逗号,整体用双引号括起来;如果里面还有双引号就替换成两个双引号,这样导出来的格式就不会有问题了
String tempDescription=str;
//如果有逗号
if(str.contains(",")){
//如果还有双引号,先将双引号转义,避免两边加了双引号后转义错误
if(str.contains("\"")){
tempDescription=str.replace("\"", "\"\"");
}
//在将逗号转义
tempDescription="\""+tempDescription+"\"";
}
return tempDescription;
}