Java 无法使用Apache POI写入Excel
我的目标是根据二维数组的长度将数据写入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
字符串[][]类型
,长度为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