2
我有一個對象列表,需要使用其屬性填充excel。每個單元格都有一個java對象的屬性。現在我想知道是否有通用的方法。 java對象的屬性是String和double,並且有大約30個屬性。我是否必須使用getter分別獲取每個屬性,然後填充單元格,或者是否有一種更優雅的方式(在循環中使用反射等)。如何使用apache poi和java對象填充excel行
我有一個對象列表,需要使用其屬性填充excel。每個單元格都有一個java對象的屬性。現在我想知道是否有通用的方法。 java對象的屬性是String和double,並且有大約30個屬性。我是否必須使用getter分別獲取每個屬性,然後填充單元格,或者是否有一種更優雅的方式(在循環中使用反射等)。如何使用apache poi和java對象填充excel行
是的,你可以用反射來做到這一點。您首先獲取您的類的所有聲明字段的列表,然後檢查其類型並再次使用反射以從列表中的每個實例獲取該字段的值。請注意,返回的字段不能保證以任何特定的順序,儘管從Java 6開始,它們實際上是以聲明的順序返回的。
for (Field field : Test.class.getDeclaredFields()) {
if (field.getType() == String.class) {
System.out.println(field.get(yourInstance));
}
}
對象是通用的,還是隻有一個類正在寫入模板? –
它只有一個類將寫在模板中。 –
然後我會說要做到這一點的最好方法是編寫一個方法,根據該類輸出到Excel文件。你*可以用反射來創建一個通用函數,但我認爲這將歸入YAGNI。 –