数据写在一个Excel列Java
问题描述:
嗨,我是新的写入数据,但在做了大量的研究和阅读文档后,我已经做到了。数据写在一个Excel列Java
我的问题: 当字符串数据存储在我的数组中,并将其写入excel中,但它不会将它放在一列中(这是我想要的),它将每个字符串排在它右边的一列中在我的电子表格的对角下降。下面是一张照片。
我想是被把每串/名称一个栏下对方。任何建议,将不胜感激。
代码段:
System.out.println("Write data to an Excel Sheet");
FileOutputStream out = new FileOutputStream("C:/Users/hoflerj/Desktop/text2excel/finish.xlsx");
XSSFWorkbook workBook = new XSSFWorkbook();
XSSFSheet spreadSheet = workBook.createSheet("clientid");
XSSFRow row;
XSSFCell cell;
for(int i=0;i<arr.size();i++){
row = spreadSheet.createRow((short) i);
cell = row.createCell(i);
System.out.println(arr.get(i));
cell.setCellValue(arr.get(i).toString());
}
System.out.println("Done");
workBook.write(out);
arr.clear();
out.close();
答
您正在增加列索引为好。
只要改变来自:
cell = row.createCell(i);
要:
cell = row.createCell(0);
所以For Loop
将是这样的:
for(int i=0;i<arr.size();i++){
row = spreadSheet.createRow((short) i);
cell = row.createCell(0);
System.out.println(arr.get(i));
cell.setCellValue(arr.get(i).toString());
}
或者用更少的线路:
for(int i=0;i<arr.size();i++){
row = spreadSheet.createRow((short) i);
row.createCell(0).setCellValue(arr.get(i).toString());
System.out.println(arr.get(i));
}
你可能不需要循环。看看这个网站(https://www.mkyong.com/java/apache-poi-reading-and-writing-excel-file-in-java/),希望这可以提供帮助。 – ian0411
但是我会查看该网站。我没有看到如何将存储在数组中的数据写入Excel文档而不使用循环。 – Jonathan
我想要做的就是将它全部保存在一个列中,每个列中的每个名称都堆叠在另一列中。 – Jonathan