我在db中有数据读取
数据= A,B,C,d
我需要使用java将这个数据导出到单个单元格下的excel文件中,这应该像这样读取
一
B'/ P>
C
d
我已完成导出部分,但无法将上述值放在单个单元格下。我现在已经这样做了,但错了。
String Data=getDataVO.getData();
String Data1[]=Data.split(",");
for(int i=0;i<=Data1.length;i++){
String dt=Data1[i].concat(newline);
ExcelUtil.setCell(row, ExcelConstants.ONE, dt, style);}
请帮助。
答案 0 :(得分:0)
我试图从不完整的问题猜测你的情景。但是你似乎在for循环的每次迭代中都重置了单元格的内容。你的for循环限制条件也是一个接一个,这将导致索引越界异常。
请改为尝试:
String NEW_LINE = ...;
String data = getDataVO.getData();
String splitData[] = data.split(",");
String cellContents = "";
for(int i = 0; i < splitData.length; i++)
{
cellContents = cellContents.concat(splitData[i])
.concat(NEW_LINE);
}
ExcelUtil.setCell(row, ExcelConstants.ONE, cellContents, style);
如果你有更多的元素,使用StringBuilder而不是concat()可能更有效。
答案 1 :(得分:0)
很抱歉,如果我不正确地传达了这个问题。
以下代码符合我的条件。
apache.poi.hssf。是我使用的,Excel常量是定制的。
如果有替代方案,请随时提出建议以改善我的答案。cellstyle.setWrapText(true);
cell.setCellStyle(cellstyle);
String Data=getDataVO.getData();
data1=data.replaceAll(",","\n");
ExcelUtil.setCell(row, ExcelConstants.ONE, data1, cellstyle);
谢谢。