gpt4 book ai didi

java - 写入 Excel 文件时出现问题 (Apache POI)

转载 作者:行者123 更新时间:2023-12-02 10:51:34 24 4
gpt4 key购买 nike

public static String already_exists(ArrayList<String> reg_id, ArrayList<String> doc_id, ArrayList<String> status) throws RowsExceededException, WriteException, IOException{
WritableWorkbook myFirstWbook = null;
FileOutputStream out = new FileOutputStream(new File("C://Users//Desktop//OP_demo.xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Java Books");

int rowCount = 0;
int columnCount = 0;
for(int i=0;i<reg_id.size();i++)
{
Object[][] bookData={{reg_id.get(i),doc_id.get(i),status.get(i)}};
Row row = sheet.createRow(rowCount++);
//System.out.println(reg_id.get(i)+doc_id.get(i)+status.get(i));
for (Object[] aBook : bookData)
{

for (Object field : aBook)
{
org.apache.poi.ss.usermodel.Cell cell = row.createCell(columnCount++);

{
cell.setCellValue(field.toString());
}

}
workbook.write(out);


}


}

out.close();

return "";
}

上面是我用来写入 Excel 文件“OP_Demo”的代码片段。必须使用数组列表 reg_id、doc_id 和 status 的值来填充单元格。但是,当我运行该程序时,只有索引位置 0 处的列表的值才会写入文件。我是否在 for 循环中放错了某个特定语句?

最佳答案

您需要将 workbook.write(out); 移到循环之外。工作簿.write(out);将工作簿的内容写入文件流,处理完所有记录后需要写入文件,否则每次执行时都会覆盖文件内容。

public static String already_exists(ArrayList<String> reg_id, ArrayList<String> doc_id, ArrayList<String> status) throws RowsExceededException, WriteException, IOException{
WritableWorkbook myFirstWbook = null;
FileOutputStream out = new FileOutputStream(new File("C://Users//Desktop//OP_demo.xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Java Books");

int rowCount = 0;
int columnCount = 0;
for(int i=0;i<reg_id.size();i++)
{
Object[][] bookData={{reg_id.get(i),doc_id.get(i),status.get(i)}};
Row row = sheet.createRow(rowCount++);
//System.out.println(reg_id.get(i)+doc_id.get(i)+status.get(i));
for (Object[] aBook : bookData)
{

for (Object field : aBook)
{
org.apache.poi.ss.usermodel.Cell cell = row.createCell(columnCount++);

{
cell.setCellValue(field.toString());
}

}

}

}

workbook.write(out); // writing the workbook to file-stream outside loop
out.close();

return "";
}

您可以引用以下链接:https://www.mkyong.com/java/apache-poi-reading-and-writing-excel-file-in-java/它展示了使用 apache POI 读写 excel 文件的基本示例。

关于java - 写入 Excel 文件时出现问题 (Apache POI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52146383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com