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