yudhistira adytia Ответов: 1

Как заполнить данные в Excel из класса ArrayList в Java


Во-первых, у меня есть данные arraylist, такие как 1,2,3,4,5,6,7,8
после того, как я нажму кнопку, она поместит данные arraylist в мою базу данных excel.
Но данные arraylist будут начинаться не со столбца A, а со столбца F в excel

До этого я хочу использовать excel в качестве своей базы данных для хранения некоторых данных. Это мой первый раз, когда я использую excel для своей базы данных

Nountylegre

Вот еще один пример, основанный на этом библиотека java excel:

Список<число&ГТ; данные = новый ArrayList и Л;целое&ГТ;();
data.add(1);
data.add(2);
data.add(3);
// ...

SpreadsheetInfo.setLicense("свободного общества-ключ");

ExcelFile workbook = ExcelFile.load("input.xlsx");
ExcelWorksheet worksheet = workbook.getWorksheet(0);
Колонки ExcelColumn = лист.getColumn("Ф");

for (int i = 0; i < data.size(); i++) {
Целочисленное значение = data.get(i);
column.getCell(i).setValue(значение);
}

рабочая тетрадь.сохранить("output.xlsx");

1 Ответов

Рейтинг:
1

Prasad Khandekar

Привет,

Вот пример, основанный на apache POI.

public void fillData(int[] intArr)
{
    int startCell = 6;     // Corrosponds to F
    HSSFWorkbook workbook = null;
    HSSFSheet sheet = null;
    HSSFCell cell = null;
    HSSFRow sheetRow = null;

    workbook = new HSSFWorkbook();
    sheet = workbook.createSheet("WorkSheet");
    sheetRow = getRow(sheet, 0);
    for (int val : intArr)
    {
        cell = sheetRow.createCell(startCell);
        cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
        cell.setCellValue(((Integer) value).doubleValue());
    }
}

/**
 * Helper method to retrieve the numbered row. If row does not exists then
 * a new row is inserted and it's reference is returned.
 * @param sheet The worksheet from which a row reference is sought.
 * @param rowNum the row number
 * @return the reference to the numbered row.
 */
protected final HSSFRow getRow(HSSFSheet sheet, int rowNum)
{
    HSSFRow sheetRow = null ;

    sheetRow = sheet.getRow(rowNum);
    if (null == sheetRow)
        sheetRow = sheet.createRow(rowNum);

    return sheetRow;
}

Более подробную информацию можно найти на сайте Apache POI[^].

С уважением,


yudhistira adytia

@PrasadKhandekar ваш код предназначен для создания нового excel, верно? У меня есть файл excel перед экспортом в JTable. Я хочу добавить данные из моего arraylist в следующий столбец, начиная с F

Prasad Khandekar

Код для добавления значений должен оставаться прежним. Пожалуйста, проверьте документацию Apache POI для чтения существующей части excel.