在excel java中编写类的arraylist

在excel java中编写类的arraylist,java,apache-poi,export-to-excel,Java,Apache Poi,Export To Excel,我从db收到Arraylist,我需要将其写入Excel工作表。 收到的数据:Arraylist。我还需要维持秩序。我将在设置为excel时处理数据类型。 GDTPolicy类有大约90个属性。如何遍历GDTPolicy并将数据设置为excel?或者我需要从db导出不同的数据类型吗? . 欢迎提出任何建议 ArrayList<GDTPolicy> data= gdtRepository.fetchbyDate(); Workbook book = new XSSFWorkb

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

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));
            }
        }
ArrayList data=gdtRepository.fetchbyDate();
工作簿=新XSSFWorkbook();
org.apache.poi.ss.usermodel.Sheet Sheet=book.createSheet(“报价”);
对于(int i=0;i
如果不想为每个属性设置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;  
}

工作起来很有魅力,我还可以通过field.getName()获取数据的标题信息;反射,一个未知但难以置信的工具