Я использовал простой код из онлайн code и смог вызвать метод в коде в цикле for и передать ему данные и номер строки. Файл создан правильно, размер файла (после обновления моего проводника) изменяется при каждой вставке, но когда я это сделаю, я открываю файл и вижу там только первую строку, и в тот момент, когда я закрываю ее, размер размер файла уменьшается с 1,5 МБ до 5 байт. Я открыл файл 1,5 МБ в notepadd ++ (конечно, он открывался с помощью байтовых символов). Я мог видеть данные, которые я записывал в файл, кроме первой строки. Все мои строки были там. но когда я открываю в Excel, это не так.
Есть что-то, чего мне здесь не хватает. При каждой вставке в файл Excel я делаю это:
fileOutputStream = new FileOutputStream(fileName,true);
sampleWorkbook.write(fileOutputStream);
и после этого в блоке finally блока try:
finally {
/**
* Close the fileOutputStream.
*/
try {
if (fileOutputStream != null) {
fileOutputStream.flush();
fileOutputStream.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
но если размер файла меняется, и я могу просматривать данные в блокноте, почему Excel обрабатывает строки, отличные от первой, как временные данные (это то, что я предполагаю, что это происходит, поскольку возвращается только к 5 байт, когда я закрываю файл)? Что здесь не так?
Заранее спасибо за помощь.
Сайед.