URLからデータをフェッチし、次のコードを使用して既存のExcelファイルに行を追加しようとします。
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();