0
我从URL获取数据,并尝试将行追加到现有Excel文件下面的代码..Excel中添加更新失败的Apache POI
if (file.exists()) {
in=new FileInputStream(new File(path));
workbook = new HSSFWorkbook(in);
sheet = workbook.getSheetAt(0);
in.close();
} else {
workbook = new HSSFWorkbook();
sheet = workbook.createSheet();
row = sheet.createRow(0);
row.createCell(0).setCellValue("keyTerm");
row.createCell(1).setCellValue("username");
row.createCell(2).setCellValue("Text");
row.createCell(3).setCellValue("Timestamp");
}
然后
int count = sheet.getLastRowNum();
for (int i = 0; i < tweets.length(); i++) {
tweet = tweets.getJSONObject(i);
count++;
row = sheet.createRow(count);
row.createCell(0).setCellValue(term);
row.createCell(1)
.setCellValue(tweet.getString("from_user"));
row.createCell(2).setCellValue(
tweets.getJSONObject(i).getString("text"));
row.createCell(3).setCellValue(
tweet.getString("created_at"));
}
代码工作以及对于新文件,但是即使当我以附加模式打开文件进行写入时,现有文件也无法追加。
out = new FileOutputStream(file, true);
workbook.write(out);
out.close();
谢谢。但是,从长远来看,这并不昂贵,比如说我有30K记录,并且几乎没有添加10-12条记录。 – MalTec 2013-03-04 22:00:20
是的,但不能提供帮助。 'write'方法是输出电子表格的唯一方法,它会写入所有内容。 – rgettman 2013-03-04 22:07:48