Здравствуйте!
Задумался о написании простой обертки для удобства экспорта данных при помощи Apache POI.
Часто приходится экспортировать List в документ xlsx. Как это можно теоретически реализовать, чтобы сохранить "универсальность"?
Подумал об использовании рефлексии и дженериков.
Метод, который нужно модифицировать:
private void exportData(List<Article> articles) {
List<Article> articleList = articles;
Workbook workbook = new XSSFWorkbook();
CreationHelper creationHelper = workbook.getCreationHelper();
Sheet sheet = workbook.createSheet("newSheet");
int rowNum = 0;
for (Article article : articleList) {
Row row = sheet.createRow(rowNum++);
row.createCell(0).setCellValue(article.getArticleTitle());
row.createCell(1).setCellValue(article.getArticleContent());
}
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream("doc.xlsx");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
workbook.write(fileOutputStream);
} catch (IOException e) {
e.printStackTrace();
}
try {
assert fileOutputStream != null;
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Как лучше реализовать затею?