导出csv格式,一个单元格内容包含“逗号”,“双引号”问题

按照如下处理步骤可实现:

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;
	}

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值