Я работаю над тем, чтобы получать данные из базы данных и показывать в Excel. Я использую библиотеку Apache Poi для создания Excel.
вот фрагмент для генерации Excel.
public class GenerateReport {
public void showReport() {
List<T> t = sampleDao.getAllData();
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
HSSFRow row = null;
HSSFCell column = null;
HSSFRow row1 = sheet.createRow(1);
HSSFCell c11 = row1.createCell(1);
HSSFCell c12 = row1.createCell(2);
HSSFCell c13 = row1.createCell(3);
HSSFCell c14 = row1.createCell(4);
HSSFCell c15 = row1.createCell(5);
c11.setCellValue("ID");
c12.setCellValue("Date");
c13.setCellValue("Time");
c14.setCellValue("YES/NO");
c15.setCellValue("Action");
for (final T sampleT: t) {
....algo and what should be written
}
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
externalContext.setResponseContentType("application/vnd.ms-excel");
externalContext.setResponseHeader("Content-Disposition",
"attachment; filename=\"Sample Report");
workbook.write(externalContext.getResponseOutputStream());
facesContext.responseComplete();
}
}
// метод получения для DAO
public void setSampleDao(
SampleDao sampleDao) {
this.sampleDao = sampleDao;
}
public SampleDao getSampleDao() {
return sampleDao;
}
}
sampleDao.getAllData();
Метод getAllData () возвращает данные, которые необходимо отобразить с помощью запроса.
Мне нужна помощь, как получить данные и что нужно записать в этом цикле for
for (final T sampleT: t) {
....algo and what should be written
}
Существует условие, что if c14.setCellValue ("YES / NO"); Если да, то под этой ячейкой c15.setCellValue («Действие») должно быть записано конкретное действие.
ID Дата Время ДА / НЕТ Действие
Да / Нет данных поступает из базы данных (sampleDao.getAllData ();), если присутствует Да, тогда мне придется написать конкретное действие в столбце действий, после извлечения вторых данных он проверит предыдущее Да / Нет , если оба одинаковы / или изменены, мне нужно написать действие в соответствии с ним.
Может ли кто-нибудь мне помочь
- при написании фрагмента для цикла for с условиями.
- и как установить данные в ячейках.