Java 无法使用Apache POI写入Excel

Java 无法使用Apache POI写入Excel,java,excel,apache-poi,Java,Excel,Apache Poi,我的目标是根据二维数组的长度将数据写入excel。根据字符串[][]类型,长度为2。因此,我希望excel的输出是 A B 1 word word 2 word word 3 word word 4 word word A B 一个单词 两个字 三字 4个单词 然而,这就是我得到的 A B 1 word 2 word 3 word 4 w

我的目标是根据二维数组的长度将数据写入excel。根据
字符串[][]类型
,长度为2。因此,我希望excel的输出是

A B 1 word word 2 word word 3 word word 4 word word A B 一个单词 两个字 三字 4个单词 然而,这就是我得到的

A B 1 word 2 word 3 word 4 word A B 一个字 两个字 三个字 4字 下面是我的代码

    String[][] types = { {"type1", "value1"}, {"type2", "value2"},  };

        try {
            FileInputStream fis= new FileInputStream(new File(excelFile));       
            XSSFWorkbook wb = new XSSFWorkbook(fis);
            XSSFSheet worksheet = wb.getSheetAt(0); 

            for (int i = 0; i <4 ; i++) { // this will loop 4 times

            for (int a = 0; a < types.length ; a++) {    
                    inputs[a] = "word";
                XSSFRow row = worksheet.createRow(i);
                row.createCell(a).setCellValue(inputs[a]);
            }
            }
.. 
String[]types={{“type1”,“value1”},{“type2”,“value2”},};
试一试{
FileInputStream fis=新的FileInputStream(新文件(excelFile));
XSSF工作簿wb=新XSSF工作簿(fis);
XSSFSheet工作表=wb.getSheetAt(0);

对于(int i=0;i),您的程序逻辑是错误的。您应该只为每个i而不是每个a创建新行。因此,请将
XSSFRow row row=worksheet.createRow(i);
移出for a循环。
for(int i=0;i@AxelRichter it works!你想把你的评论作为答案吗?这样我就可以勾选它了?不,在我看来,这显然不值得回答。但你现在可以回答你自己的问题了。在回答中,你应该描述你新获得的知识,关于为什么它在旧代码中失败,以及为什么它现在在新代码中工作E