gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 12:20:02 25 4
gpt4 key购买 nike

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

Actual Data

Converted

标题已移至多个,附上代码

if(cell.getStringCellValue().contains(",")){
if (cell.getStringCellValue().contains("\"")){
String t= "\""+cell.getStringCellValue()+"\"";
data.append(t+",");
}
else{
data.append("\""+cell.getStringCellValue()+"\""+",");
}
}

最佳答案

您需要转义这些特殊标志:

例如。如果您希望将值 onetwo, Three 作为 CSV 文件中的两列,请将第二列用引号引起来:

one,"two,three"

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

"abc""def"

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

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

关于java - POI Java将xlsx转换为CSV逗号和双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45854876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com