Excel – автоматический ввод в следующую пустую строку

Я разрабатываю программу, которая хранит определенные данные в архиве excel. Я написал код, который создает файл excel, лист и записывает в него. Мой код показан ниже. Проблема в том, что при записи в архив я должен указать строку, в которую он должен вставить информацию. В любом случае, чтобы код автоматически вставлялся в следующую новую пустую строку сам по себе?

package de.vogella.java.excel.writer; import java.io.File; import java.io.IOException; import java.util.Locale; import jxl.CellView; import jxl.Workbook; import jxl.WorkbookSettings; import jxl.format.UnderlineStyle; import jxl.write.Formula; import jxl.write.Label; import jxl.write.Number; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; public class WriteExcel { private WritableCellFormat timesBoldUnderline; private WritableCellFormat times; private String inputFile; public void setOutputFile(String inputFile) { this.inputFile = inputFile; } public void write() throws IOException, WriteException { File file = new File(inputFile); WorkbookSettings wbSettings = new WorkbookSettings(); wbSettings.setLocale(new Locale("en", "EN")); WritableWorkbook workbook = Workbook.createWorkbook(file, wbSettings); workbook.createSheet("Report", 0); WritableSheet excelSheet = workbook.getSheet(0); createLabel(excelSheet); createContent(excelSheet); workbook.write(); workbook.close(); } private void createLabel(WritableSheet sheet) throws WriteException { // Lets create a times font WritableFont times10pt = new WritableFont(WritableFont.TIMES, 10); // Define the cell format times = new WritableCellFormat(times10pt); // Lets automatically wrap the cells times.setWrap(true); // create create a bold font with unterlines WritableFont times10ptBoldUnderline = new WritableFont(WritableFont.TIMES, 10, WritableFont.BOLD, false, UnderlineStyle.SINGLE); timesBoldUnderline = new WritableCellFormat(times10ptBoldUnderline); // Lets automatically wrap the cells timesBoldUnderline.setWrap(true); CellView cv = new CellView(); cv.setFormat(times); cv.setFormat(timesBoldUnderline); cv.setAutosize(true); // Write a few headers addCaption(sheet, 0, 0, "type"); addCaption(sheet, 1, 0, "result"); addCaption(sheet, 2, 0, "time"); addCaption(sheet, 3, 0, "date");} private void createContent(WritableSheet sheet) throws WriteException, RowsExceededException { // Write a few number for (int i = 1; i < 10; i++) { // First column addLabel(sheet, 0, i, "Boring text " + i); // Second column addNumber(sheet, 1, i, i * i); // third column addNumber(sheet, 2, i, i + 10); //furth column addNumber(sheet, 3, i, i * i);} } private void addCaption(WritableSheet sheet, int column, int row, String s) throws RowsExceededException, WriteException { Label label; label = new Label(column, row, s, timesBoldUnderline); sheet.addCell(label); } private void addNumber(WritableSheet sheet, int column, int row, Integer integer) throws WriteException, RowsExceededException { Number number; number = new Number(column, row, integer, times); sheet.addCell(number); } private void addLabel(WritableSheet sheet, int column, int row, String s) throws WriteException, RowsExceededException { Label label; label = new Label(column, row, s, times); sheet.addCell(label);} public static void main(String[] args) throws WriteException, IOException { WriteExcel test = new WriteExcel(); test.setOutputFile("D:ghada.xls"); test.write(); System.out.println("Please check the result file under c:/temp/lars.xls "); }} 

Я не использовал этот API, поэтому не знаю, есть ли лучший способ сделать это. Кроме того, Java не моя вещь, поэтому не могу дать вам примеры кода.

Вам нужно найти первую пустую строку в вашей таблице. Предполагая, что столбец A всегда заполнен, вы можете просто переходить из строки 1 в N, пока не найдете пустую строку.

Учебник по используемому API показывает, как вы можете прочитать файл excel.

http://www.vogella.com/tutorials/JavaExcel/article.html

  • Ошибка XLSX в CSV из памяти
  • Как вызвать метод, который находится в другом классе из основного класса java
  • JAX-RS POST не может возвращать пустой xlsx как тип mime
  • Могут ли несколько пользователей одновременно подключаться к базе данных Microsoft Access с помощью Java?
  • Как получить подтверждение данных Excel Выпадающие значения для ссылочных диапазонов ячеек
  • JAVA использует apache poi создает xlsx, все строки после 9-го будут вставлены во вторую строку
  • Как вывести содержимое определенной строки из файла CSV?
  • Чтение данных из Excel и записи в список
  • сохранение вывода программы java в листе Excel через Apachae POI
  • Недопустимая подпись заголовка; IOException с POI Apache в документе excel
  • Jxl NullPointerException для работы с методом workbook.close ()
  • Interesting Posts

    Установка надстройки VSTO без приглашения пользователя

    Как я могу преобразовать все CSV-файлы в папку в один файл .xlsx с несколькими вкладками рабочего листа (1 для каждого .csv)?

    XSSF Excel, названные стилями

    перейдите через iframe с помощью vba и введите ячейку Excel в текстовый элемент

    java-файл только последние данные, вставленные в файл

    Ошибка при вызове sub в vba

    гиперссылка в excel не загружается должным образом, но из PDF или слов загружается нормально

    Как вы определяете летнее время в VBA?

    Поиск определенного значения в файле excel и соответствующем столбце

    Экспорт VB.NET PrintDocument в Excel

    Excel: как добавить предупреждающее сообщение, если Macro используется дважды

    Использование Pandas для фильтрации таблицы Excel

    Нужно VB, чтобы Excel вычислил лист или диапазон в реальном времени и в фоновом режиме

    Использование модулей для запуска всех листов в книге – VBA

    Сортировка и ранжирование Excel с нескольких листов

    Давайте будем гением компьютера.