将 class 的数组列表写入 excel java

Writing arraylist of a class in to excel java

我从 db 收到一个 Arraylist,我需要将它写入 Excel sheet。 收到的数据: Arraylist 。我还需要维持秩序。我将在设置为 excel 时处理数据类型。 GDTPolicy Class 有大约 90 个属性。如何遍历 GDTPolicy 并将数据设置为 excel?或者我需要从数据库导出不同的数据类型吗? .欢迎提出任何建议

ArrayList<GDTPolicy> data= gdtRepository.fetchbyDate();

    Workbook book = new XSSFWorkbook();
        org.apache.poi.ss.usermodel.Sheet sheet = book.createSheet("Quotation");

        for (int i = 0; i < data.size(); i++) {
            ArrayList<String> rows = excelData.get(i);
            // GDTPolicy= data.get(i);
            Row row = sheet.createRow(i);
            for (int j = 0; j < rows.size(); j++) {
                Cell data = row.createCell(j);
                data.setCellValue(rows.get(j));
            }
        }

如果您不想为每个属性设置 cell.setValue,您可以选择使用反射,如下所示:

Field [] fields = rows.get(j).getClass().GetDeclaredFields();

int countField = 0;
for (Field field : fields){
    Cell data = row.createCell(countField);
    data.setCellValue(field.get(rows.get(j))); 
    countField = countField +1;  
}

https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getDeclaredField%28java.lang.String%29