项目中使javacsv中csvWriter.writeRecord方法写入数据的时候,正常的数据字符串日期写入文件都没问题,但是一旦字符串类型中包含了逗号,会导出写入的结果不是我们想要的!代码跟踪虽然从字段和传值都是正常的,但是一旦到了csvWriter.writeRecord写入后,打开的文件字段显示错乱!
例如我们的项目中金额一列是有逗号分割的,导致之后的结果就是这样:
查询了一下资料,原来逗号在csv中是一种特殊的分隔符,写入后就会自动按照逗号拆分了!(外话音,这NM不算是程序的bug吗?为啥csv有这样的设计!)
解决方法是在解析后的字段值增加代码判断,如果是包含了逗号,那么前后追加双引号解决!
String cellValue = CmpTypeUtil.getFieldStringValue(beanMap, columnProperty