Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 某些列未使用Apache POI显示在Excel中_Java_Excel_Apache Poi - Fatal编程技术网

Java 某些列未使用Apache POI显示在Excel中

Java 某些列未使用Apache POI显示在Excel中,java,excel,apache-poi,Java,Excel,Apache Poi,我正在尝试从java编写excel ,数据从对象数组中保存。然而,在我的例子中,数据实际上是从两个名为NameGenerator的方法中获取的,用于创建名称,从一个名为PhoneGenerator的方法中获取,用于创建数字。并将这些值逐行保存到excel中。结果如下所示 彼得| 5124131 岩石| 24141 苏珊| 067643 但是,当前代码将覆盖该名称。因此,excel文件如下所示 有人愿意帮助我吗?任何意见都将不胜感激 试试看{ //创建excel FileOutputStream

我正在尝试从java编写excel

,数据从对象数组中保存。然而,在我的例子中,数据实际上是从两个名为NameGenerator的方法中获取的,用于创建名称,从一个名为PhoneGenerator的方法中获取,用于创建数字。并将这些值逐行保存到excel中。结果如下所示

彼得| 5124131

岩石| 24141

苏珊| 067643

但是,当前代码将覆盖该名称。因此,excel文件如下所示

有人愿意帮助我吗?任何意见都将不胜感激

试试看{
//创建excel
FileOutputStream fileOut=新的FileOutputStream(
“excelfile.xls”);
HSSFWorkbook=新的HSSFWorkbook();
HSSFSheet工作表=工作簿.createSheet(“注册数据”);
DataGenerator dg=新的DataGenerator();
对于(int i=0;i<3;i++){
//NameGenerator方法将创建随机名称
字符串名称=dg.NameGenerator;
//PhoneGenerator方法将创建随机电话
字符串phone=dg.PhoneGenerator;
工作表.createRow(i).createCell(0).setCellValue(名称);
工作表.createRow(i).createCell(1).setCellValue(电话);
}
//保存excel
工作簿。写入(归档);
flush();
fileOut.close();
}catch(filenotfounde异常){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();

}
我认为您误用了
createRow(index)
方法。您应该为每一行调用它一次,否则它将重新创建您以前拥有的内容,并且您所有的内容都将丢失(因此您将丢失第一列)

这样做:

            ...
            HSSFRow row = worksheet.createRow(i);
            row.createCell(0).setCellValue(name);
            row.createCell(1).setCellValue(phone);
            ...

很高兴它有帮助。若答案解决了你们的问题,通常你们会接受它,并投票表决我接受了答案。然而,由于我的名声不好,我不能投反对票。感谢您重新表述我的问题,让其他用户更容易理解!
            ...
            HSSFRow row = worksheet.createRow(i);
            row.createCell(0).setCellValue(name);
            row.createCell(1).setCellValue(phone);
            ...