Java 读取单元格值&;替换Alt+;带着一个,
我使用ApachePOIAPI从字符串类型的单元格中获取数据,但值由Alt+Enter分隔Java 读取单元格值&;替换Alt+;带着一个,,java,excel,apache,Java,Excel,Apache,我使用ApachePOIAPI从字符串类型的单元格中获取数据,但值由Alt+Enter分隔 他 这个 “是\n这个\n测试” a 试验 突出显示的文本是一个单元格,其中包含Alt+Enter的值(显示为\n)。我要读取此数据替换“\n”或Alt+Enter,然后使用该值 i、 e.替换后我想要的输出\n是:is,this,A,test 我使用的代码如下所示: String data = cell.getStringCellValue();
String data = cell.getStringCellValue();
System.out.println("output:"+data);
if(data.contains("\n")){
sb.append(data.replace("\n", ","));
}else{
sb.append(data);
}
//sb.append(myValue);
sb.append('|');
这里sb是我附加数据的stringbuffer。
然后,将StringBuffer对象sb中的数据写入以管道作为分隔符的csv文件。
请帮我解决这个问题 你几乎每件事都做对了
\n
(LF)\r\n
,则\r
可能已被识别为记录终止符 if (data.contains("\r")) {
System.out.println("CR found");
}
sb.append('\"')
.append(data.replace("\r?\n", ","));
.append('\"');
.append('|');
if
是不必要的,并且StringBuilder
比旧的StringBuffer
快一点。您知道如何检索单元格的值吗?您知道如何将其设置为新值吗?你尝试过什么?我尝试过使用Cell对象并从中获取字符串值..给我们看一些代码。我们想知道你做错了什么。String data=cell.getStringCellValue();System.out.println(“输出:+数据”);if(data.contains(“\n”){sb.append(data.replace(“\n”,“,”);}else{sb.append(data);}//sb.append(myValue);某人附加(“|”);不要把代码放在这里,更新你的问题,告诉我你得到了什么输出。什么是某人?如果它是StringBuffer,则需要将其内容转储到类似cell.set…(sb.toString())的位置