POI Java将xlsx转换为CSV逗号和双引号

时间:2017-08-24 06:55:46

标签: java excel csv apache-poi

尝试将xlsx转换为CSV,其中一列有多个引号和逗号,转换为CSV时,它被分隔为不同的单元格而不是一个单元格。 以下是方案,

Actual Data

Converted

标题正在转移到多个,附加代码

getElementsByTagName('cars')[0]

1 个答案:

答案 0 :(得分:1)

你需要逃避这些特殊的迹象:

例如。如果您希望将值onetwo,three设为CSV文件中的两列,则将第二列括在引号中:

one,"two,three"

要在列值中转义双引号",请用双引号括起它,并使用""来转义值内的引号。例如,如果您的字段为abc"def,则应将其转义为:

"abc""def"

因此,对于您的情况,它可能是一个班轮而不是整个if语句:

data.append("\"").append(cell.getStringCellValue().replaceAll("\"", "\"\"")).append("\",");